Re: [patch,rfc v2] ext3/4: enhance fsync performance when using cfq

From: Vivek Goyal
Date: Thu Apr 08 2010 - 10:10:32 EST


On Thu, Apr 08, 2010 at 10:03:24AM -0400, Jeff Moyer wrote:
> Vivek Goyal <vgoyal@xxxxxxxxxx> writes:
>
> > On Thu, Apr 08, 2010 at 01:00:45PM +0200, Jens Axboe wrote:
>
> >> I like the concept, it's definitely useful (and your results amply
> >> demonstrate that). I was thinking if there was a way in through the ioc
> >> itself, rather than bdi -> queue and like you are doing. But I can't
> >> think of a nice way to do it, so this is probably as good as it gets.
> >>
> >
> > I think, one issue with ioc based approach will be that it will then call
> > yield operation on all the devices in the system where this context has ever
> > done any IO. With bdi based approach this call will remain limited to
> > a smaller set of devices.
>
> Which actually brings up the question of whether this needs some
> knowledge of whether the journal is on the same device as the file
> system! In such a case, we need not yield. I think I'll stick my head
> in the sand for this one. ;-)

Jeff even if journal is not on same device, what harm yielding could do?
Anyway there is no IO on that queue and we are idling. Only side affect is
that yielding process could lose a bit if after fsync it immediately submits
more IO. Because this process has yielded it slice, it is back in the queue
instead of doing more IO in the current slice immediately.

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