From: FUJITA Tomonori <tomof@acm.org>
To: ltuikov@yahoo.com
Cc: James.Bottomley@HansenPartnership.com,
fujita.tomonori@lab.ntt.co.jp, hch@infradead.org,
jens.axboe@oracle.com, jeff@garzik.org,
linux-scsi@vger.kernel.org, akpm@linux-foundation.org,
bharrosh@panasas.comfujita.tomonori@lab.ntt.co.jp
Subject: Re: new scsi sense handling
Date: Tue, 5 Feb 2008 22:54:40 +0900 [thread overview]
Message-ID: <20080205225409O.tomof@acm.org> (raw)
In-Reply-To: <168902.15215.qm@web31814.mail.mud.yahoo.com>
On Mon, 4 Feb 2008 18:39:22 -0800 (PST)
Luben Tuikov <ltuikov@yahoo.com> wrote:
> --- On Mon, 2/4/08, Boaz Harrosh <bharrosh@panasas.com> wrote:
> > There are 3 usages of sense handling in drivers
> >
> > 1. sense is available in driver internal structure and is
> > mem-copied to upper level
> > 2. A CHECK_CONDITION status was returned and the driver
> > uses the scsi_eh_prep_cmnd()
> > for a REQUEST_SENSE invocation to the target. Then
> > returning the sense in
> > scsi_eh_return_cmnd(). A variation on this is when the
> > driver does nothing the queue
> > is frozen an the scsi watchdog timer does the above.
> > 3. The underline host adapter does the REQUEST_SENSE and a
> > pre-allocated and DMA mapped
> > sense buffer receives the sense information from HW.
>
> Many years ago when "ACA" had a constructive meaning,
> so did "Autosense". Then about 5 years ago, "Autosense"
> disappeared completely since it became the de facto
> implementation of the then SCSI Execute Command "RPC",
> now just SCSI Execute Command procedure call.
>
> At that point in time, the SCSI mid-layer decided
> to embrace this model and give the LLDD a scsi command
> structure which included the sense data buffer to
> a size that the SCSI mid-layer was interested in,
> at the moment 96 bytes, macro defined in
> include/scsi/scsi_cmnd.h.
>
> The concept of "Autosense" was off-loaded to LLDD
> to emulate it if the specific target device to
> which the command was issued, didn't supply the
> sense data on CHECK CONDITION, and more so
> relevant to target devices which implemented
> queuing, thus the ACA.
>
> And the mid-layer would consider extracting
> the sense data via REQUEST SENSE command
> as a _special case_ if the LLDD/transport layer
> didn't implement the "autosense" model.
Only SPI and USB?
The most of LLDs using the transport protocol that we care about today
uses sense buffer in their own internal structure.
I think that the issue to solve to kill scsi_cmnd:sense_buffer is how
to share (or export) such sense buffer with the scsi mid-layer.
For the old transport protocols, we could do something that James said
in this thread to to kill scsi_cmnd:sense_buffer.
next prev parent reply other threads:[~2008-02-05 13:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-04 15:08 new scsi sense handling Boaz Harrosh
2008-02-05 2:39 ` Luben Tuikov
2008-02-05 13:54 ` FUJITA Tomonori [this message]
2008-02-05 19:43 ` Luben Tuikov
2008-02-06 0:55 ` FUJITA Tomonori
2008-02-06 2:14 ` 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=20080205225409O.tomof@acm.org \
--to=tomof@acm.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=akpm@linux-foundation.org \
--cc=bharrosh@panasas.comfujita.tomonori \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=hch@infradead.org \
--cc=jeff@garzik.org \
--cc=jens.axboe@oracle.com \
--cc=linux-scsi@vger.kernel.org \
--cc=ltuikov@yahoo.com \
/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).