Messages in this thread | | | Date | Mon, 12 May 2003 15:53:31 -0400 | From | Jeff Garzik <> | Subject | Re: 2.5.69, IDE TCQ can't be enabled |
| |
On Mon, May 12, 2003 at 09:42:45PM +0200, Jens Axboe wrote: > On Mon, May 12 2003, Jeff Garzik wrote: > > Most Linux people with TCQ drives seem to have Hitachi (nee IBM) > > ones AFAICS. These do not have a service interrupt (or at least, > > do not report such) > > Nonsense, it supports the service interrupt just fine. It will just > complain if you try to turn it off, iirc.
Weird. Mine doesn't seem to assert it, nor does the identify page indicate it's supported. Maybe I have a broken drive firmware.
> > They do have the release interrupt. > > Which we don't use. To be interesting, you need to speculatively turn on > the dma engine for each command you want to start. If you don't do that, > then it's faster just to poll for release/no-release at command start > time.
That's an annoying thing about ATA TCQ: the command _may_ execute immediately, or may be queued (even when queue is empty). At least that's how I read the code and specs...
> I don't think the multiple pending _and_ active is that big a deal, and > besides _everybody_ uses write back caching on IDE which makes TCQ for > writes very uninteresting. [...] > I have to agree with Eric that the largest win is potentially not > getting hit by the rotational latency all the time. I don't think you'll > get much extra from actually having more than one active from the dma > POV.
Yes and no. I am coming from a driver-complexity perspective: single-active is more annoying on the driver side.
In terms of drive performance, multiple active probably doesn't make a huge difference. In terms of reduction in host CPU usage, there is a performance gain there with multiple active.
Jeff
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |