Re: I request inclusion of SAS Transport Layer and AIC-94xxintothekernel

From: David Lang
Date: Mon Oct 03 2005 - 10:31:32 EST


On Mon, 3 Oct 2005, Luben Tuikov wrote:

On 10/03/05 10:26, David Lang wrote:
in this case wouldn't it be trivial to write a 'null transport' driver
that just passed things down to the card to let the firmware deal with it?
(reformatting the data if needed)

Hi David,

I think it is trivial.

Your LLDD would define the host template and register it
with SCSI Core. This way you _bypass_ the Transport Layer.
(This is what you call null driver -- as is traditionally done
in SCSI Core due to the legacy LLDDs (to which MPT caters
for 100% backward software compatibility))

Else if your LLDD is just an inteface to the interconnect:
i.e. it only implements Execute SCSI RPC and TMFs, then
you'd register with the Transport Layer (SBP or USB or SAS)
which will do all Transport related tasks, and then that
Transport Layer (USB, SBP or SAS) would register a scsi host
with SCSI Core.

the advantage of actually having a null transport driver rather then bypassing the transport layer completely is that you avoid having to make the SCSI core know about details of the interface to the chips, and especially about any bugs that crop up and have to be worked around for different chips.

or worse yet, as the spec of the interface to the hardware changes over time the SCSI core would have to know about all the different variations and how to deal with them.

it's much cleaner to evict all that knowledge out of the SCSI core and let a very lightweight transport driver deal with that instead.

the drawback is that you may end up copying a little bit of data one time more then you absolutly have to, but that's probably a very small cost for the flexibility.

think of this as a problem similar to the network card interface, vendors want to implement TOE while the kernel folks are willing to do TSO, but not TOE (see the letters being exchange on lwn.net in the letters to the editor section the last few weeks for a good discussion on those issues)

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