public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matthew Wilcox <matthew@wil.cx>
To: Kyle Moffett <mrmacman_g4@mac.com>
Cc: Linus Torvalds <torvalds@osdl.org>,
	"Adam J. Richter" <adam@yggdrasil.com>,
	akpm@osdl.org, bunk@stusta.de, greg@kroah.com,
	linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz,
	pavel@ucw.cz, shemminger@osdl.org
Subject: Re: [patch] drivers: wait for threaded probes between initcall levels
Date: Mon, 30 Oct 2006 07:42:59 -0700	[thread overview]
Message-ID: <20061030144259.GD10235@parisc-linux.org> (raw)
In-Reply-To: <A2B15573-3DDD-4F70-AC04-C37DBA3AC752@mac.com>

On Mon, Oct 30, 2006 at 09:23:10AM -0500, Kyle Moffett wrote:
> recursive make invocations and nested directories).  Likewise in the  
> context of recursively nested busses and devices; multiple PCI  
> domains, USB, Firewire, etc.

I don't think you know what a PCI domain is ...

> Well, perhaps it does.  If I have (hypothetically) a 64-way system  
> with several PCI domains, I should be able to not only start scanning  
> each PCI domain individually,  but once each domain has been scanned  
> it should be able to launch multiple probing threads, one for each  
> device on the PCI bus.  That is, assuming that I have properly set up  
> my udev to statically name devices.

There's still one spinlock that protects *all* accesses to PCI config
space.  Maybe we should make it one per PCI root bridge or something,
but even that wouldn't help some architectures.

> I admit the complexity is a bit high, but since the maximum nesting  
> is bounded by the complexity of the hardware and the number of  
> busses, and the maximum memory-allocation is strictly limited in the  
> single-threaded case this could allow 64-way systems to probe all  
> their hardware an order of magnitude faster than today without  
> noticeably impacting an embedded system even in the absolute worst case.

To be honest, I think just scaling PARALLEL to NR_CPUS*4 or something
would be a reasonable way to go.

If people actually want to get serious about this, I know the PPC folks
have some openfirmware call that tells them about power domains and how
many scsi discs they can spin up at one time (for example).  Maybe
that's not necessary; if we can figure out what the system's max power
draw is and how close we are to it, we can decide whether to spawn
another thread or not.

It's quite complicated.  You can spin up a disc over *here*, but not
over *there* ... this really is a gigantic can of worms being opened.

  parent reply	other threads:[~2006-10-30 14:43 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-28 23:50 [patch] drivers: wait for threaded probes between initcall levels 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 [this message]
2006-10-30 18:47       ` Kyle Moffett
2006-10-30 19:13         ` Matthew Wilcox
2006-10-31  5:39           ` Grant Grundler
  -- strict thread matches above, loose matches on Subject: below --
2006-10-29 20:38 Adam J. Richter
2006-10-28  8:23 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-23 23:22 Linux 2.6.19-rc3 Linus Torvalds
2006-10-26 22:45 ` 2.6.19-rc3: known unfixed regressions (v2) 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
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

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=20061030144259.GD10235@parisc-linux.org \
    --to=matthew@wil.cx \
    --cc=adam@yggdrasil.com \
    --cc=akpm@osdl.org \
    --cc=bunk@stusta.de \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    --cc=mrmacman_g4@mac.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox