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

Jens Axboe
2002-03-05T07:42:56Z

On Mon, Mar 04 2002, Daniel Phillips wrote:
> > 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.

No, there will always be at most one queue for a device. There might be
more than one device on a queue, though, so yes the implementation at
the block/queue level still leaves something to be desired.

--
Jens Axboe