From: Brian King <brking@linux.vnet.ibm.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: Tejun Heo <htejun@gmail.com>, Jens Axboe <jens.axboe@oracle.com>,
linux-ide@vger.kernel.org,
linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: old-EH and SAS (was Re: [PATCH 2/2] block: add function for waiting for a specific free tag)
Date: Thu, 21 May 2009 11:34:04 -0500 [thread overview]
Message-ID: <4A15827C.6020705@linux.vnet.ibm.com> (raw)
In-Reply-To: <4A145B5D.8020607@garzik.org>
Jeff Garzik wrote:
> Brian King did a new-EH conversion for ipr, some time ago. Maybe that
> work could be picked up, extended to libsas, and permit removal of all
> the old-EH code remaining in libata.
There are a couple different ways to accomplish this, and they relate to
how many scsi hosts we end up using for a single SAS HBA.
Single scsi_host solution
This solution really requires libata to more or less stop using scsi core.
At the very least the concept of it "owning" the scsi host must go away.
Additionally, as far as EH goes, quiescing the entire scsi host each time
we want to do some exception handling for a SATA device kills the performance
of the SAS devices on the HBA, so we would need to have a better layered
EH that only quiesced what needs to be quiesced and then called out to
different pluggable EH handling routines.
Multiple scsi_host solution
This is what my patch to ipr did. It was the path of least resistance at
the time and worked reasonably well for ipr, but may not have been the
best solution for libsas without further enhancements. In this solution,
there is a scsi_host for each ATA port found on the SAS fabric. This
allows most of the existing libata code to simply work with minimal changes.
The biggest issue with this approach is we lose adapter queue depth tracking.
We really would need queue groups or some similar solution in order for this
to work for libsas.
-Brian
--
Brian King
Linux on Power Virtualization
IBM Linux Technology Center
next prev parent reply other threads:[~2009-05-21 16:34 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-20 6:59 [PATCH 0/2] libata: switch to block layer tagging Jens Axboe
2009-05-20 7:00 ` [PATCH 1/2] libata: switch to using block layer tagging support Jens Axboe
2009-05-20 11:53 ` Tejun Heo
2009-05-20 17:10 ` Grant Grundler
2009-05-20 18:08 ` Gwendal Grignou
2009-05-20 18:50 ` James Bottomley
2009-05-20 18:58 ` Jeff Garzik
2009-05-20 19:04 ` Jeff Garzik
2009-05-20 19:42 ` Gwendal Grignou
2009-05-20 19:47 ` Jeff Garzik
2009-05-21 13:44 ` Mark Lord
2009-05-21 17:27 ` Jeff Garzik
2009-05-20 18:51 ` Jeff Garzik
2009-05-20 19:09 ` Jeff Garzik
2009-06-10 15:11 ` Jeff Garzik
2009-06-11 2:10 ` Tejun Heo
2009-05-20 7:01 ` [PATCH 2/2] block: add function for waiting for a specific free tag Jens Axboe
2009-05-20 11:55 ` Tejun Heo
2009-05-20 19:34 ` old-EH and SAS (was Re: [PATCH 2/2] block: add function for waiting for a specific free tag) Jeff Garzik
2009-05-21 16:34 ` Brian King [this message]
2009-05-20 17:28 ` [PATCH 2/2] block: add function for waiting for a specific free tag Grant Grundler
2009-05-20 7:53 ` [PATCH 0/2] libata: switch to block layer tagging Jeff Garzik
2009-05-20 7:57 ` Jens Axboe
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=4A15827C.6020705@linux.vnet.ibm.com \
--to=brking@linux.vnet.ibm.com \
--cc=htejun@gmail.com \
--cc=jeff@garzik.org \
--cc=jens.axboe@oracle.com \
--cc=linux-ide@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;
as well as URLs for NNTP newsgroup(s).