Messages in this thread | | | From | Daniel Phillips <> | Subject | Re: [PATCH] 2.4.x write barriers (updated for ext3) | Date | Mon, 4 Mar 2002 20:51:09 +0100 |
| |
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/
| |