linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: "Alan Cox" <alan@lxorguk.ukuu.org.uk>,
	"Bartlomiej Zolnierkiewicz" <bzolnier@gmail.com>,
	"Dan Noé" <dpn@isomerica.net>,
	"Christoph Hellwig" <hch@infradead.org>,
	"FUJITA Tomonori" <fujita.tomonori@lab.ntt.co.jp>,
	linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org,
	osst@riede.org
Subject: Re: [PATCH] remove ide-scsi
Date: Sun, 07 Dec 2008 09:04:58 -0600	[thread overview]
Message-ID: <1228662298.3501.19.camel@localhost.localdomain> (raw)
In-Reply-To: <493B0867.5020700@ru.mvista.com>

On Sun, 2008-12-07 at 02:19 +0300, Sergei Shtylyov wrote:
> Hello.
> 
> Alan Cox wrote:
> 
> >>    Oh, yes. SCSI emulation is just what Linux embedded world is asking 
> >> for...
> >>     
> >
> > Well ATAPI is SCSI emulation (its a sort of pidgin SCSI admittedly).
> >   
> 
>    ATAPI is SCSI transport (with maybe some quirks at SCSI command level 
> tho, IIRC). ATA is neither thansport nor does it map to SCSI 1:1.


Well, to be wholly accurate, since SCSI-3, SCSI has been separated into
an architecture, primary command, device specific command and transport
model (called the SCSI architecture model).  Starting with ATA-8, ATA
will go this way again.  What ATAPI actually is is a SCSI (really MMC
for CD and SSC for tape) command transported over ATA using the ATA
PACKET command.  With ATA-8 it will be much more analogous to SCSI
command over ATA transport.

>  The 
> code for emulating SCSI on ATA only burdens the kernel (and causes user 
> complaints about changing disk names from /dev/hdx to /dev/sda :-).

The code for sorting this out is already upstream in the block tree for
2.6.29.

> > I'm actually seeing two strands of requests (including from embedded)
> >
> > - CF only small "dumb as president" type driver that is written to be as
> > compact as possible and preferably considers IRQs as optional
> >   
> 
>    Yes, support for IRQ-less CF is what IDE core lacks. I must note 
> however that IRQ-less mode looks inherently risky to me because of the 
> raciness of tbothe the ATA spec and its implimentatin WRT the "interrupt 
> pending" state. I may be mistaking but someone of T13 experts (Hale 
> Landis I guess) told me that the devices require that state to be 
> cleared to proceed with the command, and that's what the fast polling 
> host is likely to fail at because it doesn't know if rthe device has 
> actually entered this state when BSY is cleared... Oh well, that's an 
> old story...
> 
> > - Full SATA and NCQ aware platform support.
> >   
> 
>    I don't see how SATA/NCQ support is connected to SCSI.

They require features that SCSI has had for a long time for TCQ but
which weren't present in block.

Originally I'd been promised that libata would be out of SCSI within a
year (that was when it went in).  The slight problem is that having all
the features it needed, SCSI became a very comfortable host. Getting
libata out of SCSI was also made difficult by the fact that few people
cared enough to help.  The only significant external problem is the size
of the stack and the slight performance penalty for SATA disks going
over SAT.  Unfortunately for the latter, slight turns out to be pretty
unmeasurable, so the only hope became people who cared about
footprint ... and there don't seem to be any of those.

The other problem is that it isn't just moving libata out of SCSI.  To
do this correctly, SCSI itself needs to be sliced up because lots of
devices running over ATA transports are genuinely governed by SCSI
protocols (CD with MMC and tape with SSC), so we have to be able to run
sr and st over an ATA transport, thus it needs the minimal pieces of
SCSI to function.  This in turn necessitates splitting the whole of the
SCSI mid layer into a stand alone upper layer support library and a
lower layer platform, which is a significant piece of work.

The way it's happening is that people keep thinking of incremental steps
towards this (ULD separated from SCSI, block timers, sd device
allocation separation, block error handling) and doing them, but lacking
a major spur, it's going slowly.

James



  parent reply	other threads:[~2008-12-07 15:04 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-03  1:38 [PATCH] remove ide-scsi FUJITA Tomonori
2008-12-03 10:06 ` Christoph Hellwig
2008-12-03 13:31   ` Willem Riede
2008-12-03 13:55     ` Matthew Wilcox
2008-12-03 14:02       ` Alan Cox
2008-12-03 15:09   ` James Bottomley
2008-12-06  6:12     ` Pete Zaitcev
2008-12-06 14:06       ` Bartlomiej Zolnierkiewicz
2008-12-06 14:51     ` Bartlomiej Zolnierkiewicz
2008-12-06 15:06       ` Alan Cox
2008-12-06 16:29         ` Bartlomiej Zolnierkiewicz
2008-12-06 15:25       ` Willem Riede
2008-12-06 15:59         ` Bartlomiej Zolnierkiewicz
2008-12-06 17:00       ` Dan Noé
2008-12-06 21:41         ` Bartlomiej Zolnierkiewicz
2008-12-06 22:24           ` Alan Cox
2008-12-06 22:52             ` Sergei Shtylyov
2008-12-06 23:02               ` Alan Cox
2008-12-06 23:19                 ` Sergei Shtylyov
2008-12-06 23:32                   ` Alan Cox
2008-12-07  0:08                     ` Sergei Shtylyov
2008-12-07 11:40                       ` Alan Cox
2008-12-07 14:46                         ` Sergei Shtylyov
2008-12-07 15:04                   ` James Bottomley [this message]
2008-12-07 15:21                     ` Sergei Shtylyov
2008-12-09 22:21                     ` libata / scsi separation Matthew Wilcox
2008-12-09 22:38                       ` James Bottomley
2008-12-10  3:37                         ` Matthew Wilcox
2008-12-10  1:54                       ` Tejun Heo
2008-12-10  2:29                         ` Grant Grundler
2008-12-10  2:47                           ` Tejun Heo
2008-12-10  3:23                             ` Grant Grundler
2008-12-10  3:44                               ` Tejun Heo
2008-12-10 15:24                                 ` Matthew Wilcox
2008-12-10 15:33                                   ` Tejun Heo
2008-12-10 16:01                                     ` Matthew Wilcox
2008-12-10 17:11                                     ` Grant Grundler
2008-12-10 17:21                                   ` Grant Grundler
2008-12-07  0:19                 ` [PATCH] remove ide-scsi Sergei Shtylyov
2008-12-07  9:59                   ` Sergei Shtylyov
2008-12-07 10:41                 ` Sergei Shtylyov
2008-12-09 21:41                 ` Matthew Wilcox
2008-12-10 17:46                   ` Sergei Shtylyov
2008-12-06 23:28               ` Jeff Garzik
2008-12-06 23:42                 ` Sergei Shtylyov
2008-12-06 23:48                   ` Jeff Garzik
2008-12-07  3:36                     ` Yinghai Lu
2008-12-07  4:17                       ` Jeff Garzik
2008-12-07  5:07                         ` Yinghai Lu
2008-12-07 11:00                           ` Sergei Shtylyov
2008-12-09 19:59                         ` Mark Lord
2008-12-09 20:07                           ` Jeff Garzik
2008-12-09 21:04                             ` James Bottomley
2008-12-06 23:45                 ` Bartlomiej Zolnierkiewicz
2008-12-06 23:50                   ` Jeff Garzik
2008-12-06 23:40             ` Bartlomiej Zolnierkiewicz
2008-12-06 23:51               ` Alan Cox
2008-12-07  0:56                 ` Bartlomiej Zolnierkiewicz
2008-12-07  1:14                   ` Alan Cox
2008-12-07 10:32                     ` Sergei Shtylyov
2008-12-06 23:51               ` Jeff Garzik
2008-12-06 22:33           ` Al Viro
2008-12-06 23:13             ` Bartlomiej Zolnierkiewicz
2008-12-06 23:17             ` Willem Riede
2008-12-07  0:09               ` Al Viro

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=1228662298.3501.19.camel@localhost.localdomain \
    --to=james.bottomley@hansenpartnership.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bzolnier@gmail.com \
    --cc=dpn@isomerica.net \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=hch@infradead.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=osst@riede.org \
    --cc=sshtylyov@ru.mvista.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).