Re: [RFC]block: add flush request at head

From: Shaohua Li
Date: Mon Apr 18 2011 - 21:07:18 EST


On Mon, 2011-04-18 at 17:26 +0800, Christoph Hellwig wrote:
> On Mon, Apr 18, 2011 at 10:08:52AM +0200, Jens Axboe wrote:
> > Might be worth adding something for this special case, seems like the
> > NCQ restrictions will continue to be around forever (or a long time, at
> > least).
>
> I heared people are working on adding a queued FLUSH to the standard,
> but it's going to take a long time for it to get into real life systems.
>
> What would help now is allowing libata to actually use the FUA bit,
> given that every common disk and controller supports it these days.
>
> Shaohua, does adding a
>
> libata.fua = 1
>
> to the kernel command line help your benchmark in any way? It should
> if you flushes are mostly from journal writes, but not from fsync
> that didn't change any metadata.
This is a workload with fsync. I tested libata.fua=1, but nothing changed.

I also hacked the code when we proceed queue running flush list, also
proceed queue pending flush list, which doesn't change correctness for
sata. This improved a little, around 5%, but doesn't recover the whole
regression. so I still need add the flush request at queue head.

Thanks,
Shaohua


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