[Cluster-devel] [PATCH 3/4] gfs2: ordered buffer writes are not sync

Steven Whitehouse swhiteho at redhat.com
Fri Feb 5 10:58:45 UTC 2010


Hi,

On Fri, 2010-02-05 at 16:45 +1100, Dave Chinner wrote:
> Currently gfs2 ordered buffer writes use WRITE_SYNC_PLUG as the IO
> type being dispatched. They aren't sync writes; we issue all the IO
> pending, then wait for it all. IOWs, this is async IO with a bulk
> wait on the end.
> 
> We should use normal WRITE tagging for this, and before we start
> waiting make sure that all the Io is issued by unplugging the
> device. The use of normal WRITEs for these buffers should
> significantly reduce the overhead of processing in the cfq elevator
> and enable the disk subsystem to get much closer to disk bandwidth
> for large sequential writes.
> 
> Signed-off-by: Dave Chinner <dchinner at redhat.com>

That sounds reasonable. With respect to the new trace point, I'd raise
the same question as per the initial patch in the series. Also I'm
wondering about the calls to blk_run_backing_dev() as I'd thought that
this would happen automatically when we get to wait for the I/O.

Bearing in mind that your tests show no particular increase in
performance for this change, I'm tempted to be a bit more cautious about
applying it for now,

Steve.





More information about the Cluster-devel mailing list