From: Luben Tuikov <luben_tuikov@adaptec.com>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: [ANNOUNCE 0/2] Serial Attached SCSI (SAS) support for the Linux kernel
Date: Fri, 09 Sep 2005 15:30:09 -0400 [thread overview]
Message-ID: <4321E2C1.7080507@adaptec.com> (raw)
Hi,
The following announcements and patches introduce
Serial Attached SCSI (SAS) support for the Linux kernel.
Everything is supported.
The infrastructure is broken into
* SAS LLDD,
* SAS Layer.
The SAS LLDD does phy/OOB management, and generates SAS events
to the SAS Layer. Those events are *the only way* a SAS LLDD
communicates with the SAS Layer. If you can generate 2 types
of event, then you can use this infrastructure. The first two
are, loosely, "link was severed", "bytes were dmaed". The third
kind is "received a primitive", used for domain revalidation.
A SAS LLDD should implement the Execute Command SCSI RPC and
at least one SCSI TMF (Task Management Function), in order for
the SAS Layer to communicate with the SAS LLDD.
The SAS Layer is concerned with
* SAS Phy/Port/HA event management (LLDD generates,
SAS Layer processes),
* SAS Port management (creation/destruction),
* SAS Domain discovery and revalidation,
* SAS Domain device management,
* SCSI Host registration/deregistration,
* Device registration with SCSI Core (SAS) or libata
(SATA/PI), and
* Expander management and exporting expander control
to user space.
The SAS Layer uses the Execute Command SCSI RPC, and the TMFs
implemented by the SAS LLDD in order to manage the domain and
the domain devices.
For details please see drivers/scsi/sas-class/README.
The SAS Layer represents the SAS domain in sysfs. For each
object represented, its parent is the physical entity it attaches
to in the physical world. So in effect, kobject_get, gets
the whole chain up on which that object depends on.
In effect, the sysfs representation of the SAS domain(s)
is what you'd see in the physical world.
Hot plugging and hot unplugging of devices, domains and subdomains
is supported. Repeated hot plugging and hot unplugging is
also supported, naturally.
SAS introduces a new physical entity, an expander.
Expanders are _not_ SAS devices, and thus are _not_ SCSI devices.
Expanders are part of the Service Delivery Subsystem, in this case
SAS.
Expanders are controlled using the Serial Management Protocol (SMP).
Complete control is given to user space of all expanders found
in the domain, using an "smp_portal". More of this in the second
and third email in this series.
A user space program, "expander_conf.c" is also presented to show
how one controls expanders in the domain. It is located here:
drivers/scsi/sas-class/expanders_conf.c
The second email in this series shows an example of SAS domains
and their representation in sysfs.
The third email in this series shows an example of using the
"expander_conf.c" program to query all expanders in the domain,
showing their attributes, their phys, and their routing tables.
If you have the hardware, please give it a try. If you have
expander(s) it would be even more interesting.
Patches of the SAS Layer and of the AIC94XX SAS LLDD follow.
Luben
P.S. You can also download the patches from
http://www.geocities.com/ltuikov/
next reply other threads:[~2005-09-09 19:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-09 19:30 Luben Tuikov [this message]
2005-09-11 9:20 ` [ANNOUNCE 0/2] Serial Attached SCSI (SAS) support for the Linux kernel Christoph Hellwig
2005-09-12 21:35 ` Luben Tuikov
2005-09-12 23:18 ` Andrew Patterson
2005-09-13 10:14 ` Christoph Hellwig
2005-09-13 14:24 ` Luben Tuikov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4321E2C1.7080507@adaptec.com \
--to=luben_tuikov@adaptec.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox