Re: [PATCH] block: export SSD/non-rotational queue flag through sysfs

From: Dongjun Shin
Date: Thu Jan 15 2009 - 22:53:16 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/