Re: [PATCH] 2.4.x write barriers (updated for ext3)

From: Daniel Phillips (phillips@bonn-fries.net)
Date: Mon Mar 04 2002 - 14:51:09 EST


On March 4, 2002 06:16 pm, Chris Mason wrote:
> On Monday, March 04, 2002 05:04:34 PM +0000 "Stephen C. Tweedie" <sct@redhat.com> wrote:
>
> > Basically, as far as journal writes are concerned, you just want
> > things sequential for performance, so serialisation isn't a problem
> > (and it typically happens anyway). After the journal write, the
> > eventual proper writeback of the dirty data to disk has no internal
> > ordering requirement at all --- it just needs to start strictly after
> > the commit, and end before the journal records get reused. Beyond
> > that, the write order for the writeback data is irrelevant.
>
> writeback data order is important, mostly because of where the data blocks
> are in relation to the log. If you've got bdflush unloading data blocks
> to the disk, and another process doing a commit, the drive's queue
> might look like this:
>
> data1, data2, data3, commit1, data4, data5 etc.
>
> If commit1 is an ordered tag, the drive is required to flush
> data1, data2 and data3, then write the commit, then seek back
> for data4 and data5.
>
> If commit1 is not an ordered tag, the drive can write all the
> data blocks, then seek back to get the commit.

We can have more than one queue per device I think. Then we can have reads
unaffected by write barriers, for example. It never makes sense for a the
write barrier to wait on a read.

-- 
Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 07 2002 - 21:00:35 EST