From: Martin Dalecki <dalecki@evision-ventures.com>
To: benh@kernel.crashing.org
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
torvalds@transmeta.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 2.5.6-pre2 IDE cleanup 16
Date: Wed, 06 Mar 2002 12:07:30 +0100 [thread overview]
Message-ID: <3C85F872.7050306@evision-ventures.com> (raw)
In-Reply-To: <E16iPUx-0004vD-00@the-village.bc.nu> <20020306091552.19301@mailhost.mipsys.com>
benh@kernel.crashing.org wrote:
> I would add to that than rather than killing the taskfile stuff, it
> should instead be generalized and any IDE access be done via a taskfile.
>
> I don't comment on the actual implementation quality as I didn't look
> into it closely, but the point of passing requests as taskfile's
> down to the lowest level driver allow more consistency between the
> various pieces of the driver, more easily hooking of the low level
> taskfile "apply" code to accomodate MMIO or strangely mapped IDE
> controllers, etc...
>
> Alan: BTW, Apple's Darwin has a nice ATA layer implementation that
> happens to be completely taskfile based :) Ask Andre what he thinks
> about their ATA & SCSI layer, except from bloat due to their C++
> implementation, their overall design is actually really nice !
I have looked at it and come to the following conclusions:
1. Indeed the code quality found there is *excellent* nothing comparable
with the messy crude found currently in linux.
The state machine (the finite automata one i mean) is *sweet*
and can be even a subject to proper formal validation. This is
quite contrary to the interrupt handler pointer passing games done
under linux right now. There are clearly defined command
categories determined by device state instead of the particular
transport layer. (reset, synchroneous, asynchronous).
There is proper separation between the device types using the
same hardware bus layer but completely different transport
layers (ATA vers ATAPI - which is SCSI in disguise).
2. It convinced me that the current task-file interface in linux
is inadequate. So Alan please bear with me if your CF format
microdrive will have to not wakeup properly for some time...
The current mess will just have to go before something more
adequate can go in.
3. Someone had too much time at apple, becouse the C++ found
there doesn't apparently contain anything that couldn't
be expressed without any pain in plain C with structs containing
function pointers ;-).
next prev parent reply other threads:[~2002-03-06 11:09 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-05 7:54 [PATCH] per-cpu areas Rusty Russell
2002-03-05 10:51 ` [PATCH] 2.5.6-pre2 IDE cleanup 16 Martin Dalecki
2002-03-05 11:07 ` Zwane Mwaikambo
2002-03-05 11:28 ` Jens Axboe
2002-03-05 11:54 ` Martin Dalecki
2002-03-05 12:04 ` Jens Axboe
2002-03-05 12:09 ` Martin Dalecki
2002-03-06 0:33 ` Alan Cox
2002-03-06 9:51 ` Martin Dalecki
2002-03-05 11:48 ` Martin Dalecki
2002-03-06 0:34 ` Alan Cox
2002-03-05 12:36 ` Anton Altaparmakov
2002-03-05 12:36 ` Martin Dalecki
2002-03-05 12:35 ` Zwane Mwaikambo
2002-03-06 0:28 ` Alan Cox
2002-03-05 12:47 ` Anton Altaparmakov
2002-03-05 12:52 ` Martin Dalecki
2002-03-06 1:40 ` Alan Cox
2002-03-06 8:56 ` Zwane Mwaikambo
2002-03-06 9:43 ` Martin Dalecki
2002-03-06 0:27 ` Alan Cox
2002-03-06 10:15 ` Martin Dalecki
2002-03-05 11:37 ` Arjan van de Ven
2002-03-05 11:51 ` Martin Dalecki
2002-03-05 21:19 ` Vojtech Pavlik
2002-03-05 21:42 ` Jeff Garzik
2002-03-05 21:46 ` Vojtech Pavlik
2002-03-06 9:19 ` Martin Dalecki
2002-03-06 1:08 ` Alan Cox
2002-03-06 9:45 ` Martin Dalecki
2002-03-06 0:41 ` Alan Cox
2002-03-06 9:15 ` benh
2002-03-06 11:07 ` Martin Dalecki [this message]
2002-03-06 11:12 ` Zwane Mwaikambo
2002-03-06 11:59 ` Martin Dalecki
2002-03-06 12:02 ` Meelis Roos
2002-03-06 12:11 ` Martin Dalecki
2002-03-06 16:01 ` Bill Davidsen
2002-03-06 20:36 ` Linus Torvalds
2002-03-06 17:00 ` benh
2002-03-06 9:49 ` Martin Dalecki
-- strict thread matches above, loose matches on Subject: below --
2002-03-06 13:46 Ronnie Sahlberg
2002-03-13 15:55 Rick A. Hohensee
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=3C85F872.7050306@evision-ventures.com \
--to=dalecki@evision-ventures.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=benh@kernel.crashing.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox