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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox