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

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Artem Bityutskiy
Date: Tuesday, May 25, 2010 - 6:48 am

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
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCHv4 00/17] kill unnecessary SB sync wake-ups, Artem Bityutskiy, (Tue May 25, 6:48 am)
[PATCHv4 01/17] VFS: introduce helpers for the s_dirty flag, Artem Bityutskiy, (Tue May 25, 6:48 am)
[PATCHv4 02/17] AFFS: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:48 am)
[PATCHv4 04/17] BTRFS: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:48 am)
[PATCHv4 05/17] EXOFS: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 06/17] EXT2: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 07/17] EXT4: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 08/17] FAT: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 09/17] HFS: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 10/17] HFSPLUS: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 11/17] JFFS2: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 12/17] reiserfs: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 13/17] SYSV: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 14/17] UDF: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 15/17] UFS: do not manipulate s_dirt directly, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 16/17] VFS: rename s_dirt to s_dirty, Artem Bityutskiy, (Tue May 25, 6:49 am)
[PATCHv4 17/17] writeback: lessen sync_supers wakeup count, Artem Bityutskiy, (Tue May 25, 6:49 am)
Re: [PATCHv4 01/17] VFS: introduce helpers for the s_dirty ..., Artem Bityutskiy, (Sat May 29, 12:59 am)