All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [BK PATCHES] add ata scsi driver
Date: Mon, 26 May 2003 01:30:12 -0400	[thread overview]
Message-ID: <3ED1A664.1020307@pobox.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0305252214290.6692-100000@home.transmeta.com>

Linus Torvalds wrote:
> On Mon, 26 May 2003, Jeff Garzik wrote:
> 
>>Just to echo some comments I said in private, this driver is _not_
>>a replacement for drivers/ide.  This is not, and has never been,
>>the intention.  In fact, I need drivers/ide's continued existence,
>>so that I may have fewer boundaries on future development.
> 
> 
> Just out of interest, is there any _point_ to this driver? I can
> appreciate the approach, but I'd like to know if it does anything (at all)
> better than the native IDE driver? Faster? Anything?


Direction:  SATA is much more suited to SCSI, because otherwise you wind 
up re-creating all the queueing and error handling mess that SCSI 
already does for you.  The SATA2 host controllers coming out soon do 
full host-side TCQ, not the dain-bramaged ATA TCQ bus-release stuff. 
Doing SATA2 devel in drivers/ide will essentially be re-creating the 
SCSI mid-layer.

Modularity:  drivers/ide has come a long way.  It needed to be turned 
"inside out", and that's what Alan did.  But there's still a lot of code 
that needs to be factored out/about, before hotplugging and device model 
stuff is sane.

Legacy-free:  Because I don't have to worry about legacy host 
controllers, I can ignore limitations drivers/ide cannot.  In 
drivers/ide, each host IO (PIO/MMIO) is done via function pointer.  If 
your arch has a mach_vec, more function pointers.  Mine does direct 
calls to the asm/io.h functions in faster.  So, ATA command submission 
is measureably faster.

sysfs:  James and co are putting time into getting scsi sysfs right.  I 
would rather ride their coattails, and have my driver Just Work with 
sysfs and the driver model.

PIO data transfer is faster and more scheduler-friendly, since it polls 
from a kernel thread.

And for specifically Intel SATA, drivers/ide flat out doesn't work (even 
though it claims to).

So, I conclude:  faster, smaller, and better future direction.  IMO, of 
course :)

	Jeff



(the following is somewhat comparing apples to oranges, but I like doing 
it nonetheless)

bash-2.05b$ wc -l drivers/scsi/libata.c drivers/scsi/ata_piix.c 
include/linux/ata.h
    2247 drivers/scsi/libata.c
     322 drivers/scsi/ata_piix.c
     485 include/linux/ata.h
    3054 total

bash-2.05b$ wc -l drivers/ide/*.[ch] drivers/ide/pci/piix.[ch]
    3418 drivers/ide/ide-cd.c
     733 drivers/ide/ide-cd.h
      71 drivers/ide/ide-default.c
    1841 drivers/ide/ide-disk.c
    1145 drivers/ide/ide-dma.c
    2090 drivers/ide/ide-floppy.c
     135 drivers/ide/ide-geometry.c
    1330 drivers/ide/ide-io.c
    1322 drivers/ide/ide-iops.c
     437 drivers/ide/ide-lib.c
      97 drivers/ide/ide-pnp.c
    1466 drivers/ide/ide-probe.c
     930 drivers/ide/ide-proc.c
    6330 drivers/ide/ide-tape.c
    2006 drivers/ide/ide-taskfile.c
     798 drivers/ide/ide-tcq.c
     281 drivers/ide/ide-timing.h
    2539 drivers/ide/ide.c
      41 drivers/ide/ide_modes.h
     899 drivers/ide/setup-pci.c
     840 drivers/ide/pci/piix.c
     317 drivers/ide/pci/piix.h
   29066 total


  reply	other threads:[~2003-05-26  5:17 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-26  4:58 [BK PATCHES] add ata scsi driver Jeff Garzik
2003-05-26  5:15 ` Linus Torvalds
2003-05-26  5:30   ` Jeff Garzik [this message]
2003-05-26  5:36     ` Jeff Garzik
2003-05-26  5:42       ` Linus Torvalds
2003-05-26  6:01         ` Jeff Garzik
2003-05-26 16:56           ` Linus Torvalds
2003-05-26 17:47             ` Jeff Garzik
2003-05-26 20:09               ` Linus Torvalds
2003-05-27  0:29                 ` Alan Cox
2003-05-27  6:07                 ` Jeff Garzik
2003-05-27  6:30                   ` Linus Torvalds
2003-05-27  6:51                     ` Linus Torvalds
2003-05-27  7:29                       ` Jeff Garzik
2003-05-26  5:40     ` Linus Torvalds
2003-05-26  5:53       ` Jeff Garzik
2003-05-26  6:21         ` Jeff Garzik
2003-05-26 16:57           ` Linus Torvalds
2003-05-26 17:24             ` Jens Axboe
2003-05-26 17:54               ` Jeff Garzik
2003-05-26 17:59               ` Jeff Garzik
2003-05-26 18:11                 ` Jens Axboe
2003-05-27  0:22       ` Alan Cox
2003-05-27  4:15         ` Linus Torvalds
2003-05-26 10:32     ` Bartlomiej Zolnierkiewicz
2003-05-26 11:13       ` Jeff Garzik
2003-05-26 11:37         ` Bartlomiej Zolnierkiewicz
2003-05-26  5:59 ` Benjamin Herrenschmidt
2003-05-26  6:03   ` Jeff Garzik
2003-06-02  9:46 ` Andre Hedrick
2003-06-02 13:56   ` Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2003-05-26 18:12 James Bottomley
2003-05-26 18:18 ` Jens Axboe
2003-05-26 18:47   ` James Bottomley
2003-05-26 19:07     ` Jens Axboe
2003-05-26 19:17       ` James Bottomley
2003-05-26 19:33         ` Jens Axboe
2003-05-27 12:39           ` Jens Axboe
2003-05-27 14:26             ` James Bottomley
2003-05-27 17:16               ` Jens Axboe
2003-05-27 18:09                 ` James Bottomley
2003-05-27 18:21                   ` Jens Axboe
2003-05-27 18:30                     ` James Bottomley
2003-05-26 20:27         ` Linus Torvalds
2003-05-26 20:36           ` James Bottomley
2003-05-26 20:45             ` Linus Torvalds
2003-05-26 20:51               ` Jens Axboe
2003-05-26 20:56               ` James Bottomley
2003-05-26 20:38           ` Jens Axboe
2003-05-26 20:49             ` Linus Torvalds
2003-05-26 20:57               ` Jens Axboe
2003-05-26 21:34                 ` Linus Torvalds
2003-05-26 23:58                   ` Nick Piggin
2003-05-27  0:09                     ` Linus Torvalds
2003-05-27  0:49                       ` Nick Piggin
2003-05-27  0:16                   ` Alan Cox
2003-05-27  6:54                   ` Jens Axboe
2003-05-27 14:20                     ` James Bottomley
2003-05-27 14:36                     ` Linus Torvalds
2003-05-27 14:59                       ` James Bottomley
2003-05-27 15:21                         ` Jeff Garzik
2003-05-27 15:38                           ` James Bottomley
2003-05-27 15:50                             ` Jeff Garzik
2003-05-27 16:00                               ` James Bottomley
2003-05-27 16:16                                 ` Jeff Garzik
2003-05-28  9:35                                   ` Christoph Hellwig
2003-05-28 10:50                           ` Lincoln Dale
2003-05-27 19:43                       ` 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=3ED1A664.1020307@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.