linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Kevin P. Fleming" <kpfleming@cox.net>
To: linux-hotplug@vger.kernel.org
Subject: Re: [ANNOUNCE] udev 0.1 release
Date: Fri, 11 Apr 2003 18:31:28 +0000	[thread overview]
Message-ID: <marc-linux-hotplug-105008621220579@msgid-missing> (raw)
In-Reply-To: <marc-linux-hotplug-105003172531462@msgid-missing>

Antonio Vargas wrote:

> On Fri, Apr 11, 2003 at 06:46:09PM +0100, John Bradford wrote:
> 
>>>>- Performance. What happens if you plug in 4000 disks at once?
>>>
>>>You crash your power supply :)
>>
>>[Puzzle]
>>
>>Say the power supply had five 5.25" drive power connecters, how many 1
>>into 3 power cable splitters would you need to connect all 4000 disks?
>>

OK, this is all fun and games, but this is a valid point. All it takes for the 
driver for a Fibre Channel host adapter to load, and enumerate the devices it 
can see. In a matter of seconds many hundreds or thousands of disk devices could 
be registered with the kernel.

This is definitely an issue that will need to be addressed, and I think Oliver's 
suggestion of using a pipe (i'm going to say it: like devfs did :-) to forward 
the events to /sbin/hotplug in a FIFO fashion makes some sense. I have also been 
considering this issue from another angle; I am working on userspace partition 
discovery, which will be driven by /sbin/hotplug (and udev, probably). I have 
concerns that the following scenario will cause problems, if not extreme problems:

- kernel driver finds an IDE drive, registers it and the hotplug event happens
- udev gets called and gives it device node /dev/discs/disc0 (or whatever)
- /sbin/hotplug calls userspace partition discovery, which opens the device and 
scans for partitions
- if any partitions are found, they are registered with the kernel using 
device-mapper ioctls
- because these new "mapped sections" of the drive are _also_ usable block 
devices in their own right, they generate hotplug events
- because these hotplug events are for new block devices, userspace partition 
discovery will get called _again_ to handle them (it may not find anything (the 
normal case), but this model will support nearly infinite levels of partitioning 
on any block device supported by the kernel)

What happens if these secondary hotplug events occur while /sbin/hotplug has not 
yet finished processing the first one? Ignoring locking/race issues for the 
moment, I'm concerned about memory consumption as many layers of 
hotplug/udev/kpartx/etc. are running processing these events.

Of course, another possibility I'll look into this weekend is to actually have 
kpartx run as a daemon and receive messages over D-BUS, instead of being invoked 
directly by /sbin/hotplug. This would mean it could serialize the events itself 
and reduce some of the load (if D-BUS supports message queueing, which I believe 
it does).

Actually, here's another thought: have the kernel continue to call /sbin/hotplug 
for every event, just as it does now. However, /sbin/hotplug would do _nothing_ 
but translate that into D-BUS messages and post them. udev, kpartx, etc. would 
all just be D-BUS clients that would respond to their messages as they are received.



-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

  parent reply	other threads:[~2003-04-11 18:31 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-11  3:24 [ANNOUNCE] udev 0.1 release Greg KH
2003-04-11  6:37 ` Oliver Neukum
2003-04-11 17:10 ` Jeremy Jackson
2003-04-11 17:18 ` Justin Cormack
2003-04-11 17:20 ` Greg KH
2003-04-11 17:21 ` Greg KH
2003-04-11 17:46 ` John Bradford
2003-04-11 18:02 ` Roman Zippel
2003-04-11 18:12 ` Oliver Neukum
2003-04-11 18:12 ` Greg KH
2003-04-11 18:23 ` Antonio Vargas
2003-04-11 18:30 ` Oliver Neukum
2003-04-11 18:31 ` Kevin P. Fleming [this message]
2003-04-11 18:52 ` Greg KH
2003-04-11 19:00 ` Oliver Neukum
2003-04-11 19:07 ` Greg KH
2003-04-11 19:09 ` Mike Dresser
2003-04-11 19:28 ` Joel Becker
2003-04-11 19:29 ` Havoc Pennington
2003-04-11 19:31 ` Oliver Neukum
2003-04-11 19:38 ` Kevin P. Fleming
2003-04-11 19:54 ` Richard B. Johnson
2003-04-11 19:58 ` Greg KH
2003-04-11 19:59 ` Mike Dresser
2003-04-11 20:09 ` Nick Craig-Wood
2003-04-11 20:10 ` Greg KH
2003-04-11 20:16 ` John Bradford
2003-04-11 20:16 ` Mike Dresser
2003-04-11 20:23 ` Chris Hanson
2003-04-11 20:29 ` Steven Dake
2003-04-11 20:32 ` Mike Dresser
2003-04-11 20:39 ` Richard B. Johnson
2003-04-11 20:42 ` Perez-Gonzalez, Inaky
2003-04-11 20:43 ` Greg KH
2003-04-11 20:47 ` Richard B. Johnson
2003-04-11 20:48 ` David Lang
2003-04-11 20:56 ` Oliver Neukum
2003-04-11 20:59 ` Greg KH
2003-04-11 21:03 ` Oliver Neukum
2003-04-11 21:28 ` Martin Mares
2003-04-11 21:52 ` Jason Riedy
2003-04-11 22:00 ` Alex Bligh - linux-kernel
2003-04-11 22:03 ` Alex Bligh - linux-kernel
2003-04-11 22:09 ` Andrew Morton
2003-04-11 22:19 ` Tim Hockin
2003-04-11 22:27 ` Perez-Gonzalez, Inaky
2003-04-11 22:30 ` Steven Dake
2003-04-11 22:32 ` Steven Dake
2003-04-11 22:36 ` Perez-Gonzalez, Inaky
2003-04-11 22:38 ` Lars Marowsky-Bree
2003-04-11 22:41 ` David Lang
2003-04-11 22:42 ` Perez-Gonzalez, Inaky
2003-04-11 22:43 ` Steven Dake
2003-04-11 22:47 ` Andrew Morton
2003-04-11 22:51 ` Greg KH
2003-04-11 22:53 ` Jason Riedy
2003-04-11 22:53 ` Greg KH
2003-04-11 22:56 ` Greg KH
2003-04-11 22:58 ` Greg KH
2003-04-11 22:59 ` Perez-Gonzalez, Inaky
2003-04-11 23:01 ` Greg KH
2003-04-11 23:03 ` Greg KH
2003-04-11 23:23 ` Andrew Morton
2003-04-11 23:25 ` Joel Becker
2003-04-11 23:25 ` Jason Riedy
2003-04-11 23:26 ` Joel Becker
2003-04-11 23:27 ` Steven Dake
2003-04-11 23:31 ` Steven Dake
2003-04-11 23:32 ` Greg KH
2003-04-11 23:32 ` Steven Dake
2003-04-11 23:35 ` Greg KH
2003-04-11 23:37 ` Steven Dake
2003-04-11 23:37 ` Greg KH
2003-04-11 23:39 ` Steven Dake
2003-04-11 23:45 ` Greg KH
2003-04-12  0:04 ` Joel Becker
2003-04-12  0:11 ` Greg KH
2003-04-12  0:19 ` Joel Becker
2003-04-12  4:20 ` Greg KH
2003-04-12  6:45 ` Lars Marowsky-Bree
2003-04-12  7:49 ` Oliver Neukum
2003-04-12  7:53 ` Oliver Neukum
2003-04-12  8:04 ` Oliver Neukum
2003-04-12  8:07 ` Greg KH
2003-04-12 12:18 ` Arnd Bergmann
2003-04-12 14:45 ` Alan Cox
2003-04-12 23:27 ` Havoc Pennington
2003-04-19  4:16 ` David Brownell
2003-04-19  4:39 ` David Brownell

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=marc-linux-hotplug-105008621220579@msgid-missing \
    --to=kpfleming@cox.net \
    --cc=linux-hotplug@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).