On Fri, Jan 16, 2009 at 9:36 AM, James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, 2009-01-15 at 23:50 +0000, Hugh Dickins wrote: > > On Thu, 15 Jan 2009, James Bottomley wrote: > > > > > > OK, so they could be calculated on the fly in the elevators, I suppose. > > > But what would the value be? Right now we use the nonrotational flag to > > > basically not bother with plugging (no point if no seek penalty) on > > > certain events where we'd previously have waited for other I/O to join. > > > But that's really a seek penalty parameter rather than the idea of read > > > or write costing (although the elevators usually track these dynamically > > > anyway ... as part of the latency calculations but not explicitly). > > > > ... not bother with plugging (no point if no seek penalty) ... > > > > I thought there was considerable advantage to plugging writes > > (in case they turn out to be adjacent) on current and older > > generations of non-rotational storage? > > Heh, you get as many answers to that one as their are SSD manufacturers. > However, the consensus seems to be that all MLC and SLC flash has a RAID > like architecture internally, thus it can actually be *faster* if you > send multiple commands (each area of the RAID processes independently). > Of course, you have to be *able* to send multiple commands, so the > device must implement TCQ/NCQ, but if it does, it's actually beneficial > *not* to wait even if the requests are adjacent. > > However, the reason the nonrotational flag is set from user space is > precisely so if we do find an SSD that has this property, we can just > not set the nonrotational queue flag. > Not all non-rotational SSDs are created equal (as Intel said). Some SSD performs better as the I/O queue length increase, while others not. For SSD with scalable queueing performance, it might be better to allow multiple discrete I/Os. I'm not sure if "non-rotational" is well suited for tuning the behavior of elevator merging. -- Dongjun -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html