Re: [PATCH 04/12] writeback: switch to per-bdi threads forflushing data

From: Jens Axboe
Date: Tue May 26 2009 - 05:07:54 EST


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-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/