Re: [RFC]block: don't mark flush request as SOFTBARRIER

From: Shaohua Li
Date: Mon Sep 12 2011 - 21:00:39 EST


On Sun, 2011-09-11 at 10:51 +0800, Tejun Heo wrote:
> Hello,
>
> On Thu, Sep 08, 2011 at 09:29:54AM +0800, Shaohua Li wrote:
> > I'm wondering why flush request should be marked as
> > SOFTBARRIER. Current flush sequence guarantees the correctness of
> > flush even the request is reordered by ioscheduler.
>
> The primary reason would be because when those flush data requests are
> put on the dispatch queue, it doesn't go through elv_dispatch_sort().
> SOFTBARRIERs function as dispatch sort boundaries and queueing flush
> data request at the head w/o SOFTBARRIER would confuse dispatch
> sorting, and we want to put it at the head of dispatch queue to
> decrease latency for flush sequence.
we do the flush first and then dispatch the data. The flush is already
delayed a lot, so if latency is a problem, we already saw it. Why not
just remove SOFTBARRIER and use elv_dispatch_sort() for flush data so
drive can better arrange requests?

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/