On Sat, September 5, 2009 10:57 pm, Mark Lord wrote: > Ric Wheeler wrote: >> On 09/04/2009 05:21 PM, Mark Lord wrote: > .. >>> How about instead, *fixing* the MD layer to properly support barriers? >>> That would be far more useful, productive, and better for end-users. > .. >> Fixing MD would be great - not sure that it would end up still faster >> (look at md1 devices with working barriers with compared to md1 with >> write cache disabled). > .. > > There's no inherent reason for it to be slower, except possibly > drives with b0rked FUA support. > > So the first step is to fix MD to pass barriers to the LLDs > for most/all RAID types. Having MD "pass barriers" to LLDs isn't really very useful. The barrier need to act with respect to all addresses of the device, and once you pass it down, it can only act with respect to addresses on that device. What any striping RAID level needs to do when it sees a barrier is: suspend all future writes drain and flush all queues submit the barrier write drain and flush all queues unsuspend writes I guess "drain can flush all queues" can be done with an empty barrier so maybe that is exactly what you meant. The double flush which (I think) is required by the barrier semantic is unfortunate. I wonder if it would actually make things slower than necessary. NeilBrown > > Then, if it has performance issues, those can be addressed > by more application of little grey cells. :) > > Cheers > -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html