[PATCHv4 00/17] kill unnecessary SB sync wake-ups

From: Artem Bityutskiy
Date: Tue May 25 2010 - 09:50:49 EST


Hi,

last year I attempted to upstream these patches three times with no luck [1].
Here is the fourth attempt.

The problem: the 'sync_supers' kernel thread wakes up every 5 seconds (by
default, this is configurable via '/proc/sys/vm/dirty_writeback_centisecs')
walks all superblocks and synchronizes them. And even when there are no dirty
superblocks, the thread still keeps waking up.

This is a problem for small battery-powered embedded devices, like the Nokia
N900 phone, Android/MeeGo/etc stuff, etc. In these devices it is important
to have as few wake-ups as possible in order to make sure the CPU is sleeping
for as long time as possible, and the battery power is saved.

The following set of patches tries to address this problem by introducing
wrappers for the 's_dirt' flag manipulations, and then making the 'sync_supers'
task wake up only if there is are dirty superblocks.

I've made patches to be per-FS, and added all the FS maintainers to Cc. But if I
submit this series again, I will not Cc the FS maintainers, to lessen the mount
of spam in their mailboxes. Also, I can merge all the "do not use s_dirty flag
directly" patches, if this is preferred.

[1] the previous attempt: http://marc.info/?l=linux-kernel&m=124712270723226&w=2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/