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

From: Jens Axboe
Date: Fri Jan 16 2009 - 01:50:38 EST


On Fri, Jan 16 2009, Dongjun Shin wrote:
> 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.

It's not tuning merging, that's a seperate tuning knob if someone
wishes to turn that off.

--
Jens Axboe

--
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/