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
next prev parent 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.