On Tue, May 26 2009, Christoph Hellwig wrote: > On Tue, May 26, 2009 at 10:56:48AM +0200, Jens Axboe wrote: > > > Hmm, so each BDI flusher thread is going to sync all the superblocks? > > > Isn't there a better way? I suppose we *should* be able to somehow go > > > from a BDI to a superblock (or maybe a list of those) so that we can write > > > per-fs metadata not bound to inodes. > > > > I just moved the sync_supers() to the bdi_forker_task(). That makes it > > global at the same interval of wakeups, instead of doing in the bdi > > threads. It would be nice to sync locally instead, but that's something > > that can wait for later (if ever). > > For now it might be easier to just have a separate thread for calling > sync_supers instead of interwinding it with the data writeback. > > Btw, XFS currently has a per-device thread for that, to avoid any global > contention. That's basically what the mentioned change does. bdi_forker_task() is a the default_backing_dev task, it does little more than simply setup new threads and such. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html