From: Andrew Morton <akpm@osdl.org>
To: Grant Grundler <grundler@parisc-linux.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>, Pavel Machek <pavel@ucw.cz>,
Greg KH <greg@kroah.com>, Stephen Hemminger <shemminger@osdl.org>,
Matthew Wilcox <matthew@wil.cx>, Adrian Bunk <bunk@stusta.de>,
Linus Torvalds <torvalds@osdl.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-pci@atrey.karlin.mff.cuni.cz
Subject: Re: [patch] drivers: wait for threaded probes between initcall levels
Date: Fri, 27 Oct 2006 22:19:25 -0700 [thread overview]
Message-ID: <20061027221925.1041cc5e.akpm@osdl.org> (raw)
In-Reply-To: <20061028050905.GB5560@colo.lackof.org>
On Fri, 27 Oct 2006 23:09:05 -0600
Grant Grundler <grundler@parisc-linux.org> wrote:
> On Fri, Oct 27, 2006 at 04:06:26PM -0700, Andrew Morton wrote:
> > On Fri, 27 Oct 2006 23:59:30 +0100
> > Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> >
> > > Ar Gwe, 2006-10-27 am 11:42 -0700, ysgrifennodd Andrew Morton:
> > > > IOW, we want to be multithreaded _within_ an initcall level, but not between
> > > > different levels.
> > >
> > > Thats actually insufficient. We have link ordered init sequences in
> > > large numbers of driver subtrees (ATA, watchdog, etc). We'll need
> > > several more initcall layers to fix that.
> > >
> >
> > It would be nice to express those dependencies in some clearer and less
> > fragile manner than link order. I guess finer-grained initcall levels
> > would do that, but it doesn't scale very well.
>
> Would making use of depmod data be a step in the right direction?
Nope. The linkage-order problem is by definition applicable to
linked-into-vmlinux code, not to modules.
> ie nic driver calls extern function (e.g. pci_enable_device())
> and therefore must depend on module which provides that function.
>
> My guess is this probably isn't 100% sufficient to replace all initcall
> levels. But likely sufficient within a given initcall level.
> My main concern are circular dependencies (which are rare).
The simplest implementation of "A needs B to have run" is for A to simply
call B, and B arranges to not allow itself to be run more than once.
But that doesn't work in the case "A needs B to be run, but only if B is
present". Resolving this one would require something like a fancy
"synchronisation object" against which dependers and dependees can register
interest, and a core engine which takes care of the case where a depender
registers against something which no dependees have registered.
The mind boggles.
> > But whatever. I think multithreaded probing just doesn't pass the
> > benefit-versus-hassle test, sorry. Make it dependent on CONFIG_GREGKH ;)
>
> Isn't already? :)
>
> I thought parallel PCI and SCSI probing on system with multiple NICs and
> "SCSI" storage requires udev to create devices with consistent naming.
For some reason people get upset when we rename all their devices. They're
a humourless lot.
next prev parent reply other threads:[~2006-10-28 5:22 UTC|newest]
Thread overview: 169+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-23 23:22 Linux 2.6.19-rc3 Linus Torvalds
2006-10-24 2:24 ` Gene Heskett
2006-10-24 7:46 ` Muli Ben-Yehuda
2006-10-24 18:07 ` Badari Pulavarty
2006-10-24 20:21 ` 2.6.19-rc3: known unfixed regressions Adrian Bunk
2006-10-24 20:21 ` Adrian Bunk
2006-10-24 20:21 ` Adrian Bunk
2006-10-24 21:44 ` 2.6.19-rc3: known unfixed regressions: confirmations teunis
2006-10-26 15:31 ` Adrian Bunk
2006-10-26 15:54 ` teunis
2006-10-25 1:51 ` 2.6.19-rc3: known regressions with patches Adrian Bunk
2006-10-25 1:51 ` Adrian Bunk
2006-10-25 11:25 ` Linux 2.6.19-rc3 Jean Delvare
2006-10-25 12:01 ` Damien Wyart
2006-10-25 16:25 ` Auke Kok
2006-10-26 7:20 ` Jean Delvare
2006-10-25 20:13 ` Linux 2.6.19-rc3: !CONFIG_NET_ETHERNET unsets CONFIG_PHYLIB, but CONFIG_USB_USBNET also needs CONFIG_PHYLIB Athanasius
2006-10-25 22:17 ` [PATCH] " Randy Dunlap
2006-10-25 22:27 ` David Brownell
2006-10-25 22:27 ` David Brownell
2006-10-25 23:58 ` [PATCH 2/2] usbnet: use MII hooks only if CONFIG_MII is enabled Randy Dunlap
2006-10-26 2:22 ` David Brownell
2006-11-02 7:15 ` Greg KH
2006-11-02 20:29 ` David Brownell
2006-11-03 2:27 ` Adrian Bunk
2006-11-03 2:47 ` David Brownell
2006-11-03 2:58 ` Randy.Dunlap
2006-11-04 2:51 ` [2.6 patch] USB_RTL8150 must select MII Adrian Bunk
2006-10-26 15:46 ` [PATCH 2/2] usbnet: use MII hooks only if CONFIG_MII is enabled Adrian Bunk
2006-10-26 15:51 ` Randy.Dunlap
2006-10-28 11:21 ` Christoph Hellwig
2006-10-28 21:10 ` David Brownell
2006-10-28 21:13 ` Christoph Hellwig
2006-10-28 22:30 ` David Brownell
2006-10-28 21:39 ` Adrian Bunk
2006-10-31 17:40 ` [linux-usb-devel] " David Brownell
2006-10-31 18:07 ` Adrian Bunk
2006-10-31 19:36 ` David Brownell
2006-11-01 1:23 ` Adrian Bunk
2006-11-02 20:19 ` David Brownell
2006-10-25 23:59 ` [PATCH 1/2] !CONFIG_NET_ETHERNET unsets CONFIG_PHYLIB, but CONFIG_USB_USBNET also needs CONFIG_PHYLIB Randy Dunlap
2006-10-25 23:59 ` Randy Dunlap
2006-10-26 2:24 ` David Brownell
2006-10-26 5:05 ` Randy.Dunlap
2006-10-26 5:24 ` David Brownell
2006-10-26 22:45 ` 2.6.19-rc3: known unfixed regressions (v2) Adrian Bunk
2006-10-26 22:45 ` Adrian Bunk
2006-10-26 22:45 ` Adrian Bunk
2006-10-27 1:02 ` [RFC: 2.6.19 patch] let PCI_MULTITHREAD_PROBE depend on BROKEN Adrian Bunk
2006-10-27 1:20 ` Matthew Wilcox
2006-10-27 1:28 ` Andrew Morton
2006-10-27 2:11 ` Stephen Hemminger
2006-10-27 17:07 ` Greg KH
2006-10-27 17:22 ` Pavel Machek
2006-10-27 18:39 ` Andrew Morton
2006-10-27 18:41 ` vmlinux.lds: consolidate initcall sections Andrew Morton
2006-10-27 18:42 ` [patch] drivers: wait for threaded probes between initcall levels Andrew Morton
2006-10-27 18:47 ` Stephen Hemminger
2006-10-27 20:15 ` Andrew Morton
2006-10-27 20:42 ` Linus Torvalds
2006-10-27 20:48 ` Linus Torvalds
2006-10-28 1:11 ` Greg KH
2006-10-28 1:50 ` Linus Torvalds
2006-10-27 22:59 ` Alan Cox
2006-10-27 23:06 ` Andrew Morton
2006-10-28 5:09 ` Grant Grundler
2006-10-28 5:19 ` Andrew Morton [this message]
2006-10-28 5:32 ` Andrew Morton
2006-10-28 6:08 ` Grant Grundler
2006-10-28 20:48 ` Stefan Richter
2006-10-28 23:34 ` Alan Cox
2006-10-29 2:01 ` Randy Dunlap
2006-10-30 9:44 ` Cornelia Huck
2006-10-30 10:48 ` Alan Cox
2006-10-30 12:29 ` Matthew Wilcox
2006-10-27 23:12 ` Olaf Hering
2006-10-27 19:31 ` vmlinux.lds: consolidate initcall sections Haavard Skinnemoen
2006-10-29 10:21 ` Geert Uytterhoeven
2006-10-27 19:44 ` Matthew Wilcox
2006-10-27 20:17 ` Andrew Morton
2006-10-27 20:27 ` Matthew Wilcox
2006-10-27 22:23 ` [RFC: 2.6.19 patch] let PCI_MULTITHREAD_PROBE depend on BROKEN Adrian Bunk
2006-10-27 22:38 ` Andrew Morton
2006-10-28 1:08 ` Greg KH
2006-10-27 23:03 ` Alan Cox
2006-10-27 22:57 ` Alan Cox
2006-10-27 8:27 ` Pavel Machek
2006-10-29 23:13 ` 2.6.19-rc3: known unfixed regressions (v3) Adrian Bunk
2006-10-29 23:13 ` Adrian Bunk
2006-10-30 13:56 ` Michael S. Tsirkin
2006-10-30 13:56 ` Michael S. Tsirkin
2006-10-30 15:27 ` Martin Lorenz
2006-10-30 16:17 ` Jun'ichi Nomura
2006-10-30 16:32 ` Michael S. Tsirkin
2006-10-30 17:20 ` Jun'ichi Nomura
2006-10-30 17:20 ` Jun'ichi Nomura
2006-10-30 17:54 ` Michael S. Tsirkin
2006-10-30 17:54 ` Michael S. Tsirkin
2006-10-30 16:44 ` Linus Torvalds
2006-10-30 17:34 ` Jun'ichi Nomura
2006-10-30 18:16 ` Linus Torvalds
2006-10-30 18:16 ` Linus Torvalds
2006-10-30 18:35 ` Adrian Bunk
2006-10-30 19:00 ` Michael S. Tsirkin
2006-10-30 19:06 ` Hugh Dickins
2006-10-31 12:47 ` Martin Lorenz
2006-10-30 18:58 ` Michael S. Tsirkin
2006-10-31 21:15 ` Michael S. Tsirkin
2006-10-31 21:15 ` Michael S. Tsirkin
2006-11-01 3:01 ` 2.6.19-rc <-> ThinkPads Adrian Bunk
2006-11-01 3:15 ` Len Brown
2006-11-01 3:15 ` Len Brown
2006-11-01 5:11 ` Ernst Herzberg
2006-11-01 5:26 ` Linus Torvalds
2006-11-01 5:26 ` Linus Torvalds
2006-11-01 5:54 ` Michael S. Tsirkin
2006-11-01 5:54 ` Michael S. Tsirkin
2006-11-01 6:16 ` Linus Torvalds
2006-11-01 6:16 ` Linus Torvalds
2006-11-01 17:25 ` Andi Kleen
2006-11-01 18:12 ` Michael S. Tsirkin
2006-11-01 18:12 ` Michael S. Tsirkin
2006-11-01 18:25 ` Linus Torvalds
2006-11-01 18:25 ` Linus Torvalds
2006-11-01 19:33 ` Michael S. Tsirkin
2006-11-01 19:33 ` Michael S. Tsirkin
2006-11-01 19:44 ` Linus Torvalds
2006-11-01 19:44 ` Linus Torvalds
2006-11-01 19:34 ` Andi Kleen
2006-11-01 19:52 ` Linus Torvalds
2006-11-01 19:52 ` Linus Torvalds
2006-11-01 21:15 ` Andi Kleen
2006-11-01 21:15 ` Andi Kleen
2006-11-01 22:35 ` Bill Davidsen
2006-11-01 22:35 ` Bill Davidsen
2006-11-01 6:18 ` Michael S. Tsirkin
2006-11-01 6:18 ` Michael S. Tsirkin
2006-11-01 9:33 ` Pavel Machek
2006-11-01 12:02 ` Michael S. Tsirkin
2006-11-01 12:02 ` Michael S. Tsirkin
2006-11-01 17:17 ` Andi Kleen
2006-11-01 13:50 ` Stefan Seyfried
2006-11-01 13:50 ` Stefan Seyfried
2006-11-01 16:36 ` Hugh Dickins
2006-11-01 16:36 ` Hugh Dickins
2006-11-04 3:49 ` 2.6.19-rc <-> ThinkPads, summary Adrian Bunk
2006-11-04 13:51 ` Hugh Dickins
2006-11-04 14:04 ` Russell King
2006-11-05 6:23 ` Adrian Bunk
2006-11-07 20:06 ` Russell King
2006-11-07 20:19 ` Ernst Herzberg
2006-11-17 1:53 ` 2.6.19-rc <-> ThinkPads, (related Ubuntu bug report) Mark Stosberg
-- strict thread matches above, loose matches on Subject: below --
2006-10-28 8:23 [patch] drivers: wait for threaded probes between initcall levels Adam J. Richter
2006-10-28 9:22 ` Russell King
2006-10-28 12:10 ` Russell King
2006-10-28 19:41 ` Linus Torvalds
2006-10-28 23:50 Adam J. Richter
2006-10-28 23:55 ` Linus Torvalds
2006-10-30 14:23 ` Kyle Moffett
2006-10-30 14:38 ` Arjan van de Ven
2006-10-30 15:00 ` Xavier Bestel
2006-10-30 15:05 ` Arjan van de Ven
2006-10-30 15:28 ` Xavier Bestel
2006-10-30 18:56 ` Kyle Moffett
2006-10-30 14:42 ` Matthew Wilcox
2006-10-30 18:47 ` Kyle Moffett
2006-10-30 19:13 ` Matthew Wilcox
2006-10-31 5:39 ` Grant Grundler
2006-10-29 20:38 Adam J. Richter
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=20061027221925.1041cc5e.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=bunk@stusta.de \
--cc=greg@kroah.com \
--cc=grundler@parisc-linux.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=matthew@wil.cx \
--cc=pavel@ucw.cz \
--cc=shemminger@osdl.org \
--cc=torvalds@osdl.org \
/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.