Re: [BK PATCHES] add ata scsi driver

James Bottomley
2003-05-26T17:59:50Z

On Mon, May 26 2003, Linus Torvalds wrote:
> > What does the block layer need, that it doesn't have now?
>
> Exactly. I'd _love_ for people to really think about this.

In discussion with Jeff, it seems most of what he wants is already
there. He just doesn't know it yet :-)

Maybe that's my problem as well, maybe the code / comments / doc /
whatever is not clear enough.

My wishlist for this would be:

1. Unified SG segment allocation. The SCSI layer currently has a
mempool implementation to cope with this, is there a reason it can't
become block generic?

2. Device locality awareness. Quite a bit of the esoteric SCSI queueing
code occurs because we have two type of queue events:
a. device can't accept another command---stop queue and restart when the
device sends a completion back
b. the host adapter is out of resources for *all* its devices. Block
all device queues until we free some resources (again, usually a
returning command).

3. Perhaps some type of unified command handling. At the moment, we all
seem to allocate DMA'able regions for our commands/taskfiles/whatever
and attach them to reqest->special. Then we need to release them again
before completing the request.

4. Same thing goes for sense buffers.

5. There needs to be some amalgam of the SCSI code for dynamic tag
command queue depth handling.

OK, I'll stop now.

James