Ric Wheeler wrote: >> FS waiting for completion of all the dependent writes isn't too good >> latency and throughput-wise tho. It would be best if FS can indicate >> dependencies between write commands and barrier so that barrier >> doesn't have to empty the whole queue. Hmm... Can someone tell me how >> much such scheme would help? >> >> > I think that this is where SCSI ordered tags come in (or similar > schemes). The idea would be to have tag all IO. You bump the tag, for > example after you send down the journal data blocks to a new tag which > is used for the commit block data sequence. > > The ordering would require that lower ranked tags must all be destaged > to persistent storage before a subsequent tag is written out. > > The T13 had a microsoft proposal that is in this area: > > http://www.t13.org/Documents/UploadedDocuments/docs2007/e07174r0-Write_Barrier_Command_Proposal.doc
Yeah, that's one thing although it still has the undetected-write-errors in front of barrier problem (SCSI spec doesn't have a way to detect that). There's another queue, which can be considerably larger than the on-device buffer - the block elevator queue. Currently, as the elevator doesn't know what's dependent on what, it has to dump the whole content of elevator before doing barrier. I don't know how much it would help to do it selectively tho. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html