Re: I request inclusion of SAS Transport Layer and AIC-94xx intothe kernel

From: Jeff Garzik
Date: Tue Sep 27 2005 - 16:56:27 EST


Luben Tuikov wrote:
I request inclusion of the SAS Transport Layer
and the AIC-94xx SAS LLDD into the Linux kernel.

Overall, I see the following major issues. My recommendation is that this driver live in -mm, or outside the kernel tree, for a while to let things shake out.


Background
----------
* There is no question that Adaptec's aic94xx and SAS code is correct WRT the SCSI specifications. The maintainer eats, sleeps, and breathes SAS specs. :)

* aic94xx hardware supports both SAS and SATA connections. Since SAS and SATA are intentionally similar electrically, other vendors are coming out with SATA+SAS hardware too.

* Acronym: "HCIL" Stands for Host/Channel/ID/LUN. Pre-SAS legacy addressing method.


Issues
------
* Avoids existing SAS code, rather than working with it.

* Avoids existing SATA code, rather than working with it.

* Avoids (rather than fix) several SCSI core false dependencies on HCIL. Results in code duplication and/or avoidance of needed code.

* So far, it's an Adaptec-only solution. Since it pointedly avoids the existing SAS transport code, this results in two SAS solutions in Linux: one for Adaptec, one for {everyone else}.

* Maintainer reminds me of my ATA mentor, Andre Hedrick: knows his shit, but has difficulties working with the community. May need a filter if we want long term maintenance to continue.


Resolution
----------
AFAICS, there are two paths:

Easy path: make Adaptec's solution a block driver, which allows it to sidestep all the "doesn't play well with others" issues. Still an Adaptec-only solution, but at least its in a separate playpen.

Hard path: Update the SCSI core and libata to work with SATA+SAS hardware such as Adaptec's.

The hard path takes time, and won't be solved simply by shoving it in.

Jeff


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