public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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.



  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