On Thu, 2012-03-22 at 10:53 +0100, Jan Kara wrote: > On Tue 20-03-12 16:41:20, Artem Bityutskiy wrote: > > This patch-set makes ext4 independent of the VFS superblock management > > services. Namely, ext4 does not require to register the 'write_super()' VFS > > call-back. > > > > The reason of this exercises is to get rid of the 'sync_supers()' kernel thread > > which wakes up every 5 seconds (by default) even if all superblocks are clean. > > This is wasteful from power management POW (unnecessary wake-ups). > > > > Note, I tried to optimize 'sync_supers()' instead in 2010, but Al wanted me > > to get rid of it instead. See https://lkml.org/lkml/2010/6/6/87 > > And I think this is right because many file-systems do not need this, for > > example btrfs does not use VFS superblock management services at all, so on a > > btrfs-based system we currently end-up useless periodic wake-ups source. > > > > Changes for other file-systems are coming later. > > > > The patch-set structure. > > 1. patches 1,2,3 are independent ext4 cleanups and I ask Ted to merge them as > > soon/long as they are OK. I sent them also independently in order to get > > early comments, but did not get so far, so re-sending. > > 2. patch 4 exports 'dirty_writeback_interval' and it would be very useful to > > have it merged ASAP to simplify further work > > 3. patch 5 is also and independent VFS clean-up > > 4. patches 6-9 actually make ext4 independent on the 'sync_supers()' thread. > Artem, if you look at places where ext4 sets s_dirt you will notice they > are rather rare events and all of them actually take care of writing > superblock themselves (at least if my memory serves well). So ext4 > shouldn't need sync_supers() at all... Hmm, if there is journal, then ext4 does not initialize the '->write_super()' VFS call-back and indeed takes care of the SB itself. Indeed. So 'sync_supers()' wakes up every 5 seconds for nothing. However, if there is _no_ journal, the 'write_super' is initialized, and in many places the 's_dirt' flag is set, and thus VFS services seem to be actively used. I do not ext4 well enough, but the SB dirtying looks a bit messy, and I am happy to do some clean-ups, just need a bit more of direction :-) Thanks! -- Best Regards, Artem Bityutskiy
Attachment:
signature.asc
Description: This is a digitally signed message part