From: Martin Dalecki <dalecki@evision-ventures.com>
To: Gadi Oxman <gadio@netvision.net.il>
Cc: Linus Torvalds <torvalds@transmeta.com>,
Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] 2.5.5-pre1 IDE cleanup 9
Date: Fri, 22 Feb 2002 14:45:32 +0100 [thread overview]
Message-ID: <3C764B7C.2000609@evision-ventures.com> (raw)
In-Reply-To: <Pine.LNX.4.33.0202131434350.21395-100000@home.transmeta.com> <3C723B15.2030409@evision-ventures.com> <00a201c1bb8d$90dd2740$0300a8c0@lemon>
Gadi Oxman wrote:
> Hi Martin,
>
> ide_module_t was designed to conceptually divide the code to multiple
> layers,
> whether one actually uses modules or compiles all the IDE code into the
> kernel,
> and in the future, to alow several parallel implementations of the same
> functionality
> which could reside in the kernel simultaneously.
>
> The job was not finished, but the original idea was to have:
>
> 1. Core IDE code.
> 2. Chipset modules.
> 3. Probe modules.
> 4. Subdriver modules.
>
> ide_module_t was created so that the core IDE code could track all the
> modules
> currently available to it, and to be able to have several chipset drivers
> for the same
> chipset simultaneously, several probe modules simultaneously, and several
> subdrivers
> for the same device type (so that one could choose the one which works
> best).
The normal linux way using multiple driver implementations are
aliases in /etc/modules.conf - see for example ALSA vers. OSS sound
drivers for the same hardware.
> The last example was actually used in ide-scsi.c. The intention in
ide-scsi is intendid to be gone in 2.5.x.
> ide_module_t was
> that one would be able to have, for example, ide-cdrom + ide-scsi or
> ide-tape + ide-scsi
> in the kernel simultaneously (either compiled in or as modules), known to
> the
> core IDE code, and one could then change drivers for a single drive on the
> fly using
> something like "cat driver_name > /proc/ide/hdx/driver".
See above that is *not* the proper interface for implementation choice,
which is *user* policy anyway and can be handled fine by the
existing generic module interface infrastructure.
For the sake of modularization. I have already at home a version
of ide-pci.c, where the signatures of chipset initialization
source code modules match the singature of a normal pci device
initialization hook. This should enable it to make them true modules
RSN.
The chipset drivers will register lists of PCI-id's they can handle
instead of the single only global list found in ide-pci.c.
> Upon receiving such a command, the IDE core could call the cleanup code of
> the driver which was originally assigned to hdx, the cleanup code would
> de-attach
> the driver from hdx without unloading the module and without affecting the
> other drives which are currently supported by it. The core code could then
> call the init code of the other driver to attach to the device.
>
> The reason ide-probe was splitted to a different module is that in most of
> the
> time, one doesn't need the probe code in the kernel. It is needed during
> boot, and
> each time one "hot swaps" an IDE device. In addition, it could provide the
> framework
> for having several probe modules simultaneously, altough that never
> materialized.
It's inventing too many races (in esp. in the hot plug case) and the
module would be too small for beeing worth it:
[root@kozaczek ide]# size ide-probe.o
text data bss dec hex filename
8445 16 0 8461 210d ide-probe.o
[root@kozaczek ide]# size ide.o
text data bss dec hex filename
30951 521 9376 40848 9f90 ide.o
[root@kozaczek ide]#
(BTW.> I hate the ALSA OSS emultaion module splitup as well.)
As it goes about the possibility of multiple different probe
implementatoins - please show me a different one.
next prev parent reply other threads:[~2002-02-22 13:46 UTC|newest]
Thread overview: 217+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-13 22:38 linux-2.5.5-pre1 Linus Torvalds
2002-02-13 23:16 ` linux-2.5.5-pre1 Matthias Andree
2002-02-14 2:30 ` linux-2.5.5-pre1 Jeff Garzik
2002-02-14 1:17 ` linux-2.5.5-pre1 Daniel Phillips
2002-02-14 1:35 ` linux-2.5.5-pre1 -= M.J. Prinsen =-
2002-02-14 9:22 ` linux-2.5.5-pre1 Allan Sandfeld
2002-02-14 5:31 ` linux-2.5.5-pre1 Linus Torvalds
2002-02-14 8:04 ` linux-2.5.5-pre1 bert hubert
2002-02-14 16:23 ` linux-2.5.5-pre1 Linus Torvalds
2002-02-14 16:53 ` linux-2.5.5-pre1 Thomas Capricelli
2002-02-14 14:08 ` [PATCH} 2.5.5-pre1 VESA fb Martin Dalecki
2002-02-14 15:16 ` Alan Cox
2002-02-14 15:32 ` Martin Dalecki
2002-02-14 20:49 ` Compile error with linux-2.5.5-pre1 & advansys scsi Gerold J. Wucherpfennig
2002-02-19 11:37 ` [PATCH] 2.5.5-pre1 IDE cleanup Martin Dalecki
2002-02-19 11:46 ` [PATCH] 2.5.5-pre1 IDE cleanup 9 Martin Dalecki
2002-02-22 10:07 ` Gerd Knorr
2002-02-22 13:50 ` Martin Dalecki
2002-02-22 10:42 ` Gadi Oxman
2002-02-22 13:45 ` Martin Dalecki [this message]
2002-02-22 14:03 ` Vojtech Pavlik
2002-02-22 14:12 ` Jeff Garzik
2002-02-22 14:20 ` Martin Dalecki
2002-02-22 14:16 ` Martin Dalecki
2002-02-22 14:38 ` Vojtech Pavlik
2002-02-22 14:46 ` Jeff Garzik
2002-02-22 14:47 ` Martin Dalecki
2002-02-22 14:58 ` Jeff Garzik
2002-02-22 15:01 ` Jeff Garzik
2002-02-22 15:12 ` Martin Dalecki
2002-02-23 8:05 ` Keith Owens
2002-02-23 14:55 ` Martin Dalecki
2002-02-22 14:16 ` Arjan van de Ven
2002-02-22 14:40 ` Vojtech Pavlik
2002-02-21 20:31 ` Gérard Roudier
2002-02-22 19:56 ` Jeff Garzik
2002-02-21 21:14 ` Gérard Roudier
2002-02-22 22:35 ` Jeff Garzik
2002-02-22 21:34 ` Vojtech Pavlik
2002-02-22 21:45 ` Greg KH
2002-02-22 21:56 ` Jeff Garzik
2002-02-22 21:59 ` Vojtech Pavlik
2002-02-22 23:06 ` Martin Dalecki
2002-02-22 14:45 ` Jeff Garzik
2002-02-21 20:39 ` Gérard Roudier
2002-02-22 19:47 ` Jeff Garzik
2002-02-21 21:01 ` Gérard Roudier
2002-02-22 20:07 ` Greg KH
2002-02-21 21:24 ` Gérard Roudier
2002-02-22 20:41 ` Greg KH
2002-02-22 21:30 ` Erik Andersen
2002-02-22 21:42 ` Greg KH
2002-02-22 21:54 ` Erik Andersen
2002-02-22 21:22 ` Erik Andersen
2002-02-21 23:17 ` Gérard Roudier
2002-02-22 22:23 ` Erik Andersen
2002-02-22 23:27 ` Rik van Riel
2002-02-22 20:09 ` Andre Hedrick
2002-02-22 20:29 ` Greg KH
2002-02-22 20:34 ` Andre Hedrick
2002-02-22 23:46 ` Vojtech Pavlik
2002-02-22 20:32 ` arjan
2002-02-22 23:44 ` Vojtech Pavlik
2002-02-23 15:35 ` [PATCH] 2.5.5 IDE cleanup 12 Martin Dalecki
2002-02-22 23:59 ` [PATCH] 2.5.5-pre1 IDE cleanup 9 Jeff Garzik
2002-02-22 19:46 ` Andre Hedrick
2002-02-22 20:06 ` Jeff Garzik
2002-02-22 20:19 ` Andre Hedrick
2002-02-22 21:47 ` Vojtech Pavlik
2002-02-22 23:02 ` Martin Dalecki
2002-02-22 23:46 ` Jeff Garzik
2002-02-23 14:53 ` Martin Dalecki
2002-02-22 21:40 ` Vojtech Pavlik
2002-02-22 21:36 ` Vojtech Pavlik
2002-02-20 10:49 ` [PATCH] 2.5.5-pre1 IDE cleanup 10 Martin Dalecki
2002-02-21 9:39 ` [PATCH] 2.5.5 IDE cleanup 11 Martin Dalecki
2002-02-21 10:53 ` Jeff Garzik
2002-02-21 11:06 ` Andre Hedrick
2002-02-21 17:27 ` Martin Dalecki
2002-02-21 17:52 ` Alan Cox
2002-02-21 17:57 ` Martin Dalecki
2002-02-21 18:14 ` Alan Cox
2002-02-21 18:44 ` Martin Dalecki
2002-02-22 15:51 ` Pavel Machek
2002-02-21 13:59 ` Alan Cox
2002-02-21 17:32 ` Martin Dalecki
2002-02-21 17:50 ` Alan Cox
2002-02-21 18:17 ` Martin Dalecki
2002-02-21 21:24 ` Andre Hedrick
2002-02-21 21:30 ` Andre Hedrick
2002-02-22 9:25 ` Flash Back -- kernel 2.1.111 Andre Hedrick
2002-02-22 10:08 ` Rik van Riel
2002-02-22 10:09 ` Jens Axboe
2002-02-22 17:06 ` Linus Torvalds
2002-02-22 18:58 ` Andre Hedrick
2002-02-23 17:56 ` Linus Torvalds
2002-02-24 4:42 ` Andre Hedrick
2002-02-24 5:38 ` Andre Hedrick
2002-02-24 6:01 ` Linus Torvalds
2002-02-24 7:30 ` Troy Benjegerdes
2002-02-24 12:18 ` Martin Dalecki
2002-02-24 20:29 ` Troy Benjegerdes
2002-02-24 20:32 ` Martin Dalecki
2002-02-24 21:15 ` Alan Cox
2002-02-24 21:11 ` Martin Dalecki
2002-02-24 21:31 ` Alan Cox
2002-02-24 21:19 ` Martin Dalecki
2002-02-24 21:25 ` nick
2002-02-24 21:32 ` Rik van Riel
2002-02-24 21:42 ` Vojtech Pavlik
2002-02-24 21:47 ` nick
2002-02-24 21:41 ` Vojtech Pavlik
2002-02-24 21:47 ` Rik van Riel
2002-02-24 21:31 ` Jeff Garzik
2002-02-24 21:40 ` Vojtech Pavlik
2002-02-24 21:46 ` Jeff Garzik
2002-02-24 21:50 ` Vojtech Pavlik
2002-02-24 22:18 ` David S. Miller
2002-02-24 20:54 ` Vojtech Pavlik
2002-02-24 21:19 ` Troy Benjegerdes
2002-02-24 21:37 ` Vojtech Pavlik
2002-02-24 22:03 ` Paul Mackerras
2002-02-24 22:08 ` Vojtech Pavlik
2002-02-24 22:23 ` Paul Mackerras
2002-02-24 22:37 ` Troy Benjegerdes
2002-02-24 23:08 ` Chris Wedgwood
2002-02-24 22:01 ` Paul Mackerras
2002-02-24 22:10 ` Vojtech Pavlik
2002-02-24 22:25 ` Paul Mackerras
2002-02-24 22:27 ` Andre Hedrick
2002-02-24 22:48 ` Vojtech Pavlik
2002-02-25 8:49 ` Martin Dalecki
2002-02-24 22:39 ` Vojtech Pavlik
2002-02-24 22:44 ` David S. Miller
2002-02-24 22:51 ` Vojtech Pavlik
2002-02-24 22:59 ` Troy Benjegerdes
2002-02-24 23:02 ` Vojtech Pavlik
2002-02-24 23:26 ` Paul Mackerras
2002-02-27 15:59 ` Remco Post
2002-02-24 23:12 ` Chris Wedgwood
2002-02-24 23:10 ` Chris Wedgwood
2002-02-24 23:01 ` Alan Cox
2002-02-24 20:52 ` Vojtech Pavlik
2002-02-24 23:04 ` Chris Wedgwood
2002-02-24 9:27 ` Andre Hedrick
2002-02-24 12:28 ` [PATCH] IDE clean 12 3rd attempt Martin Dalecki
2002-02-24 16:14 ` Greg KH
2002-03-08 15:46 ` [PATCH] 2.5.6 IDE 18 Martin Dalecki
2002-03-08 16:42 ` Richard Gooch
2002-03-09 12:56 ` Martin Dalecki
2002-02-24 10:23 ` Flash Back -- kernel 2.1.111 Vojtech Pavlik
2002-02-24 12:14 ` Martin Dalecki
2002-03-11 12:40 ` [PATCH] 2.5.6 IDE 19 Martin Dalecki
2002-03-11 15:19 ` Alan Cox
2002-03-11 16:23 ` Martin Dalecki
2002-03-11 16:58 ` Alan Cox
2002-03-11 17:03 ` Martin Dalecki
2002-03-11 17:10 ` Charles Cazabon
2002-03-11 17:30 ` Alan Cox
2002-03-11 18:23 ` Martin Dalecki
2002-03-11 19:41 ` Alan Cox
2002-03-11 18:00 ` Andre Hedrick
2002-03-11 19:03 ` [PATCH] 2.5.6 IDE 19, return of taskfile Gunther Mayer
2002-03-11 19:14 ` Andre Hedrick
2002-03-11 19:22 ` Gunther Mayer
2002-03-11 19:23 ` Martin Dalecki
2002-03-12 9:52 ` Zwane Mwaikambo
2002-03-11 19:47 ` Alan Cox
2002-03-11 19:38 ` Alexander Viro
2002-03-11 19:42 ` Andre Hedrick
2002-03-11 19:55 ` Alexander Viro
2002-03-11 20:02 ` Alan Cox
2002-03-13 12:55 ` Pavel Machek
2002-03-15 17:49 ` john slee
2002-03-16 2:26 ` Erik Andersen
2002-03-11 19:39 ` Andre Hedrick
2002-03-12 1:48 ` [PATCH] 2.5.6 IDE 19 Pavel Machek
2002-03-11 21:50 ` Barry K. Nathan
2002-03-12 1:44 ` Pavel Machek
2002-03-11 17:42 ` Andre Hedrick
2002-03-11 18:08 ` Alan Cox
2002-03-11 18:05 ` Anton Altaparmakov
2002-03-11 19:39 ` Alan Cox
2002-03-11 22:02 ` Vojtech Pavlik
2002-03-11 22:01 ` Vojtech Pavlik
2002-03-12 8:58 ` Joachim Breuer
2002-03-11 22:06 ` Anton Altaparmakov
2002-03-11 22:10 ` Anton Altaparmakov
2002-03-11 18:06 ` Wayne Whitney
2002-03-11 18:27 ` Andre Hedrick
2002-03-11 18:51 ` Martin Dalecki
2002-03-11 19:02 ` Andre Hedrick
2002-03-11 19:12 ` Martin Dalecki
2002-03-11 19:24 ` Andre Hedrick
2002-03-11 19:30 ` Martin Dalecki
2002-03-11 19:35 ` Andre Hedrick
2002-03-11 19:51 ` Davide Libenzi
2002-03-11 19:51 ` Andre Hedrick
2002-03-11 21:19 ` Rik van Riel
2002-03-11 22:44 ` Davide Libenzi
2002-03-13 19:19 ` David Ford
2002-03-12 0:00 ` Jos Hulzink
2002-03-12 5:17 ` Andre Hedrick
2002-03-11 19:27 ` Russell King
2002-03-11 17:53 ` Arjan van de Ven
2002-03-11 19:04 ` Martin Dalecki
2002-03-11 21:02 ` Rik van Riel
2002-03-11 22:44 ` Alan Cox
2002-03-12 0:47 ` Bill Davidsen
2002-03-12 0:28 ` Pavel Machek
2002-03-13 14:14 ` [PATCH] IDE 21 Martin Dalecki
2002-03-13 17:42 ` Vojtech Pavlik
2002-02-22 10:12 ` Flash Back -- kernel 2.1.111 Pedro M. Rodrigues
2002-02-22 19:03 ` Andre Hedrick
2002-02-22 19:56 ` Alan Cox
2002-02-22 19:38 ` Andre Hedrick
2002-02-22 10:37 ` David S. Miller
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=3C764B7C.2000609@evision-ventures.com \
--to=dalecki@evision-ventures.com \
--cc=gadio@netvision.net.il \
--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.