Re: libata: set queue SSD flag for SSD devices

James Bottomley
2008-10-11T15:44:29Z

On Sat, 2008-10-11 at 16:06 +0200, Jens Axboe wrote:
> On Sat, Oct 11 2008, James Bottomley wrote:
> > On Fri, 2008-10-10 at 17:55 -0700, Arjan van de Ven wrote:
> > > On Fri, 10 Oct 2008 22:05:28 +0200
> > > Jens Axboe <jens.axboe@oracle.com> wrote:
> > > >
> > > > In this specific patch, it'll do no harm at least since I very much
> > > > doubt we'll see a false positive. And even if, the consequences wont
> > > > be dire. But it does want the version check, of course.
> > > >
> > >
> > > also, is "is an ssd" the right question or is "doesn't have seek
> > > latency" the right one?
> > > (difference is.. well EMC boxes with lots of ram etc)
> >
> > For libata, the is ssd is the right test.
> >
> > For things like the symmetrix we probably need to look at the caching
> > mode page and treat it like ssd if the cache is say > 1GB or whatever
> > heuristic is needed.
>
> Still wont quite work, you're still going to have occasional seek
> latencies no matter how large the cache is (unless it's == device size
> :-)

True (just not very often) ... but statistically, the big symmetrixes
get better performance with the noop scheduler (which is treating them
like a SSD). The occasional time they hiccough and seek tends to be
statistically in the noise.

As long as we do this stuff in userspace anyway, nothing needs to change
in the SCSI subsystem.

> So we need something a bit more involved, but not too complex. A fine
> line...

It's a policy ... just let userspace do it so the user can tune it.
That's what EMC does now (except I think they key of inquiry strings
rather than cache size).

James