Re: [PATCH 1/9] writeback: move dirty inodes from super_block tobacking_dev_info

From: Jens Axboe
Date: Wed Aug 12 2009 - 12:18:47 EST


On Wed, Aug 12 2009, Jens Axboe wrote:
> On Thu, Aug 06 2009, Christoph Hellwig wrote:
> > On Thu, Jul 30, 2009 at 11:23:56PM +0200, Jens Axboe wrote:
> > > This is a first step at introducing per-bdi flusher threads. We should
> > > have no change in behaviour, although sb_has_dirty_inodes() is now
> > > ridiculously expensive, as there's no easy way to answer that question.
> > > Not a huge problem, since it'll be deleted in subsequent patches.
> >
> > Looking at this again and again I don't really like this at all. What
> > is the problem with having per-bdi flushing threads that just iterate
> > a list of superblocks per-bdi and then the inodes from there? That
> > would keep a lot of the calling conventions much more logical, as we
> > have to writeback data per-sb for all data integrity and some other
> > writes.
>
> OK, so you'd prefer leaving the super block lists in place and rather
> have the super blocks hanging off the bdi? What about file systems that
> support more than one block device per mount, like btrfs? Can we assume
> that they will forever provide a single bdi backing? btrfs currently has
> this, just wondering about future implications.

Another issue with that approach is that you then need some logic to
decide which lists to do first, how much, etc. A single list is nicely
time ordered and retains our current approach, at least on a per-sb per
device level.

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