From: Stefan Richter <stefanr@s5r6.in-berlin.de>
To: "Huang, Ying" <ying.huang@intel.com>
Cc: Greg K-H <greg@kroah.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
Adrian Bunk <bunk@stusta.de>, "david@lang.hm" <david@lang.hm>,
David Miller <davem@davemloft.net>,
Duncan Sands <duncan.sands@math.u-psud.fr>,
Phillip Susi <psusi@cfl.rr.com>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] driver core: multithreaded probing - more parallelism control
Date: Thu, 21 Jun 2007 10:49:34 +0200 [thread overview]
Message-ID: <467A3B9E.6040201@s5r6.in-berlin.de> (raw)
In-Reply-To: <1182418711.12959.3.camel@caritas-dev.intel.com>
Huang, Ying wrote:
>> Is the queue number kernel-global or per subsystem?
>
> The queue number is kernel-global.
Then there is an API required to allocate and deallocate exclusive queue
IDs. This feels strange as a mechanism for (de-)serialization, and
might introduce some bulk WRT code and data.
Really, I don't believe there is anything else required from subsystems'
point of view than
- the possibility to keep plain serial driver matching/probing,
- to allow unrestricted parallelism,
- to mark devices whose child devices shall be matched/probed
serially.
Should there be a subsystem which has more special demands on mixture of
parallelism and serialization, it can easily use private means to
serialize certain parts of driver probes, for example with the familiar
mechanism of mutexes.
Or if need be, such a subsystem can implement its own threading model.
The FireWire subsystem for example first fetches so-called configuration
ROMs from each node on a bus by means of asynchronous split
transactions. The ROMs are scanned for device properties and
capabilities, and then drivers are matched/probed. The new FireWire
subsystem currently uses workqueue jobs to read the ROMs. The old
FireWire subsystem uses one kernel thread per bus. Before the new
FireWire subsystem was announced, I planned to let the bus kthread spawn
node kthreads which (1) fetch and scan ROMs and (2) match and probe
drivers for each unit in a node.
If the old FireWire subsystem had a future, I would most certainly not
use your mechanism but implement what you described. I am not sure
about the new FireWire subsystem; there isn't much practical experience
with it yet.
--
Stefan Richter
-=====-=-=== -==- =-=-=
http://arcgraph.de/sr/
next prev parent reply other threads:[~2007-06-21 8:49 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1182373258.30574.30.camel@caritas-dev.intel.com>
2007-06-20 15:09 ` Stefan Richter
2007-06-20 15:14 ` Stefan Richter
2007-06-21 9:38 ` Huang, Ying
2007-06-21 8:49 ` Stefan Richter [this message]
2007-06-21 13:51 ` Huang, Ying
2007-06-21 16:21 ` Stefan Richter
2007-06-22 9:52 ` Huang, Ying
2007-07-03 15:04 ` Cornelia Huck
2007-06-24 7:06 ` Greg KH
2007-06-24 9:38 ` Stefan Richter
2007-06-24 15:04 ` [PATCH] driver core: multithreaded probing - more parallelismcontrol Huang, Ying
2007-06-25 8:16 ` Greg KH
2007-07-03 9:33 ` Cornelia Huck
2007-06-21 10:17 [PATCH] driver core: multithreaded probing - more parallelism control Huang, Ying
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=467A3B9E.6040201@s5r6.in-berlin.de \
--to=stefanr@s5r6.in-berlin.de \
--cc=bunk@stusta.de \
--cc=cornelia.huck@de.ibm.com \
--cc=davem@davemloft.net \
--cc=david@lang.hm \
--cc=duncan.sands@math.u-psud.fr \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=psusi@cfl.rr.com \
--cc=ying.huang@intel.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
all inboxes | Powered by JetHome®