Re: [BK PATCHES] add ata scsi driver

Linus Torvalds
2003-05-26T20:14:50Z

On 26 May 2003, James Bottomley wrote:
>
> On Mon, 2003-05-26 at 15:07, Jens Axboe wrote:
> > Alright, so what do you need? Start out with X tags, shrink to Y (based
> > on repeated queue full conditions)? Anything else?
>
> Actually, it's easier than that: just an API to alter the number of tags
> in the block layer (really only the size of your internal hash table).
> The actual heuristics of when to alter the queue depth is the province
> of the individual drivers (although Doug Ledford was going to come up
> with a generic implementation).

Talking about tagged queueing - does the SCSI layer still remove the
request from the request list when it starts executing it?

At least historically that's a major mistake, and generates a crappy
elevator, because it removes information from the block layer about where
the disk is (or is going to be).

I know Andrew thinks that SCSI tagged queuing is a bunch of crap, and he
has the latency numbers to prove it. He blames the SCSI disks themselves,
but I think it might be the fact that SCSI makes it impossible to make a
fair queuing algorithm for higher levels by hiding information.

Has anybody looked at just removing the request at command _completion_
time instead? That's what IDE does, and it's the _right_ thing to do.

I'd hate for SATA to pick up these kinds of mistakes from the SCSI layer.

Linus