From: Greg KH <gregkh@suse.de>
To: linux-hotplug-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: [ANNOUNCE] hotplug-ng 001 release
Date: Fri, 11 Feb 2005 00:40:33 +0000 [thread overview]
Message-ID: <20050211004033.GA26624@suse.de> (raw)
I'd like to announce, yet-another-hotplug based userspace project:
linux-ng. This collection of code replaces the existing linux-hotplug
package with very tiny, compiled executable programs, instead of the
existing bash scripts.
It currently provides the following:
- a /sbin/hotplug multiplexer. Works identical to the existing
bash /sbin/hotplug.
- autoload programs for usb, scsi, and pci modules. These
programs determine what module needs to be loaded when the
kernel emits a hotplug event for these types of devices. This
works just like the existing linux-hotplug scripts, with a few
exceptions.
But why redo this all in .c code? What's wrong with shell scripts?
Nothing is wrong with shell scripts, unless you don't want to have an
interpreter in your initramfs/initrd and you want to provide
/sbin/hotplug and autoload module functionality. Or if you have a huge
box that spawns a zillion hotplug events all at once, and you need to be
able to handle all of that with the minimum amount of processing time
and memory.
So, how small are these programs? Take a look:
text data bss dec hex filename
4669 32 124 4825 12d9 hotplug
5077 8 348 5433 1539 module_pci
4925 8 412 5345 14e1 module_scsi
5349 8 348 5705 1649 module_usb
Those are all static binaries, linked with klibc (which is included in
the hotplug-ng package, just like udev.)
This compares to the following bash scripts:
-rwxr-xr-x 1 root root 4412 Feb 10 15:28 /sbin/hotplug
-rw-r--r-- 1 root root 702 Sep 24 08:04 /etc/hotplug/blacklist
-rw-r--r-- 1 root root 5293 Sep 24 08:04 /etc/hotplug/hotplug.functions
-rwxr-xr-x 1 root root 3739 Sep 24 08:04 /etc/hotplug/pci.agent
-rwxr-xr-x 1 root root 1459 Sep 24 08:04 /etc/hotplug/scsi.agent
-rwxr-xr-x 1 root root 13466 Sep 24 08:04 /etc/hotplug/usb.agent
-rw-r--r-- 1 root root 39306 Sep 24 08:04 /etc/hotplug/usb.distmap
-rw-r--r-- 1 root root 4364 Sep 24 08:04 /etc/hotplug/usb.handmap
-rw-r--r-- 1 root root 189 Sep 24 08:04 /etc/hotplug/usb.usermap
All of which are loaded into memory for each hotplug event (for specific
hotplug events, only that bus type of file is loaded.)
But what about speed? With a completely unscientific measurement on my
old, slow laptop, it takes about 2 seconds from the time I plug a usb
device into the machine, for the proper module to be loaded. With the
hotplug-ng program, it takes less than a second.
And for those of you who might remember the old dietHotplug program that
also did the same thing in a tiny amount of space, this project
obsoletes that one. dietHotplug had to be rebuilt for every kernel that
was used on the system, hotplug-ng uses the ability for modprobe to
determine the module that needs to be loaded based on the module
aliases[1].
The code can be found at:
kernel.org/pub/linux/utils/kernel/hotplug/hotplug-ng-001.tar.gz
for those who wish to poke around in it.
I still have a few more programs to write to get it up to the same
functionality as the existing hotplug scripts (firmware, ieee1392, etc.)
but those will be done soon. I'd like to get people's comments on the
idea, and welcome suggestions and even patches :)
hotplug-ng development is done in a BitKeeper repository located at:
bk://linuxusb.bkbits.net/hotplug-ng
If anyone ever wants a tarball of the current bk tree, just email me.
thanks,
greg k-h
[1] modprobe as it currently works stops loading modules when it finds
an alias that matches. This does not work for drivers that claim to
support "all devices" and then later on fail on devices that they really
don't support. For that, all matching drivers need to be loaded for the
system to work properly. The linux-hotplug scripts handle this
correctly, so if you rely on this functionality, please stick with that
package for now. I'll be modifying modprobe to add this feature in the
near future.
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click
_______________________________________________
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
next reply other threads:[~2005-02-11 0:40 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-11 0:40 Greg KH [this message]
2005-02-11 0:52 ` [ANNOUNCE] hotplug-ng 001 release Greg KH
2005-02-11 1:30 ` Kasper Sandberg
2005-02-11 6:41 ` Greg KH
2005-02-11 11:47 ` Kasper Sandberg
2005-02-11 17:06 ` Greg KH
2005-02-12 0:02 ` Kasper Sandberg
2005-02-11 1:07 ` Patrick McFarland
2005-02-11 1:16 ` Greg KH
2005-02-11 20:40 ` Vojtech Pavlik
2005-02-14 4:06 ` Lee Revell
2005-02-14 8:32 ` Paolo Ciarrocchi
2005-02-14 8:51 ` Prakash Punnoor
2005-02-14 23:04 ` Lee Revell
2005-02-14 23:16 ` Greg KH
2005-02-14 23:28 ` Lee Revell
2005-02-15 15:15 ` Stefan Seyfried
2005-02-15 20:12 ` kernel
2005-02-14 23:21 ` Roland Dreier
2005-02-14 23:45 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 Lee Revell
2005-02-15 0:16 ` Tim Bird
2005-02-15 1:17 ` Lee Revell
2005-02-15 1:45 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 release) Kyle Moffett
2005-02-15 7:32 ` Gábor Lénárt
2005-02-15 8:34 ` Paolo Ciarrocchi
2005-02-15 9:27 ` [OT] speeding boot process Bernd Petrovitsch
2005-02-15 8:55 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 Helge Hafting
2005-02-15 9:33 ` Bernd Petrovitsch
2005-02-15 13:20 ` Helge Hafting
2005-02-15 13:28 ` Paulo Marques
2005-02-15 13:50 ` Bernd Petrovitsch
2005-02-15 3:38 ` Jim Crilly
2005-02-15 5:52 ` Nigel Cunningham
2005-02-15 6:15 ` Jim Crilly
2005-02-15 6:39 ` Nigel Cunningham
2005-02-15 19:32 ` Lee Revell
2005-02-17 18:37 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 release) jlnance
2005-02-17 19:18 ` Chris Larson
2005-02-19 5:53 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 Jim Crilly
2005-02-17 19:58 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 release) Helge Hafting
2005-02-19 5:56 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 Jim Crilly
2005-02-19 22:47 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 release) Helge Hafting
2005-02-20 2:09 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 Jim Crilly
2005-02-15 8:33 ` [OT] speeding boot process (was Re: [ANNOUNCE] hotplug-ng 001 release) Paolo Ciarrocchi
2005-02-14 23:43 ` [ANNOUNCE] hotplug-ng 001 release Diego Calleja
2005-02-15 19:51 ` Lee Revell
2005-02-15 21:02 ` Diego Calleja
2005-02-15 21:32 ` Chris Friesen
2005-02-15 21:09 ` Valdis.Kletnieks
2005-02-15 19:56 ` Optimizing disk-I/O [was Re: [ANNOUNCE] hotplug-ng 001 release] Linas Vepstas
2005-02-15 20:46 ` Adam Goode
2005-02-15 21:11 ` Diego Calleja
2005-02-15 21:21 ` Valdis.Kletnieks
2005-02-11 3:18 ` [ANNOUNCE] hotplug-ng 001 release Bill Nottingham
2005-02-11 6:46 ` Greg KH
2005-02-11 16:19 ` Christian Bornträger
2005-02-11 17:01 ` Greg KH
2005-02-11 19:01 ` Erik Andersen
2005-02-11 19:23 ` Greg KH
2005-02-11 21:37 ` Erik van Konijnenburg
2005-02-11 21:49 ` Greg KH
2005-02-11 22:06 ` Erik van Konijnenburg
2005-02-11 22:13 ` Greg KH
2005-02-12 0:48 ` Ingo Oeser
2005-02-14 22:43 ` Greg KH
2005-02-11 8:10 ` Roman Kagan
2005-02-11 8:17 ` Greg KH
2005-02-11 9:52 ` Olivier Galibert
2005-02-11 17:08 ` Greg KH
2005-02-11 10:53 ` Roman Kagan
2005-02-11 17:41 ` Christian Bornträger
2005-02-11 18:15 ` Greg KH
2005-02-11 18:47 ` Marco d'Itri
2005-02-11 19:33 ` Greg KH
2005-02-11 19:36 ` Greg KH
2005-02-11 19:40 ` Marco d'Itri
2005-02-11 19:57 ` Greg KH
2005-02-11 20:06 ` Harald Dunkel
2005-02-11 21:01 ` Greg KH
2005-02-12 8:30 ` Harald Dunkel
2005-02-14 22:36 ` Greg KH
2005-02-15 5:39 ` Harald Dunkel
2005-02-15 7:14 ` Greg KH
2005-02-11 20:10 ` Marco d'Itri
2005-02-11 20:11 ` Roman Kagan
2005-02-11 20:20 ` Marco d'Itri
2005-02-11 20:44 ` Roman Kagan
2005-02-11 20:46 ` Roman Kagan
2005-02-11 20:56 ` Marco d'Itri
2005-02-11 21:01 ` Kay Sievers
2005-02-11 21:10 ` Greg KH
2005-02-17 6:46 ` Michael Tokarev
2005-02-11 21:21 ` Kay Sievers
2005-02-11 21:30 ` Greg KH
2005-02-11 21:33 ` Greg KH
2005-02-11 21:54 ` Marco d'Itri
2005-02-11 21:57 ` Greg KH
2005-02-11 22:05 ` Bill Nottingham
2005-02-11 22:12 ` Greg KH
2005-02-11 22:13 ` Roman Kagan
2005-02-11 22:16 ` Marco d'Itri
2005-02-11 22:18 ` Marco d'Itri
2005-02-11 22:45 ` Roman Kagan
2005-02-11 22:55 ` Roman Kagan
2005-02-11 23:05 ` Erik van Konijnenburg
2005-02-11 23:17 ` Marco d'Itri
2005-02-11 23:29 ` Roman Kagan
2005-02-11 23:35 ` Marco d'Itri
2005-02-12 0:10 ` Roman Kagan
2005-02-12 0:17 ` Marco d'Itri
2005-02-12 0:34 ` Roman Kagan
2005-02-12 11:43 ` Pozsár Balázs
2005-02-12 12:10 ` Roman Kagan
2005-02-12 16:27 ` Alexander E. Patrakov
2005-02-14 22:42 ` Greg KH
2005-02-15 7:34 ` Greg KH
2005-02-15 8:15 ` Christian Zoz
2005-02-15 10:25 ` Alexander E. Patrakov
2005-02-15 12:20 ` [sane-devel] " Julien BLACHE
2005-02-16 10:51 ` Roman Kagan
2005-02-16 11:07 ` Roman Kagan
2005-02-16 11:11 ` Marco d'Itri
2005-02-16 11:18 ` Roman Kagan
2005-02-16 11:27 ` Roman Kagan
2005-02-16 12:37 ` Kay Sievers
2005-02-16 15:17 ` Roman Kagan
2005-02-16 16:08 ` Kay Sievers
2005-02-16 23:02 ` Willem Riede
2005-02-16 23:17 ` Roman Kagan
2005-02-16 23:32 ` Willem Riede
2005-02-18 17:17 ` Patrick Mansfield
2005-02-18 18:11 ` Roman Kagan
2005-02-18 18:33 ` Patrick Mansfield
2005-02-18 19:41 ` Roman Kagan
2005-02-18 20:17 ` Patrick Mansfield
2005-02-17 9:12 ` Roman Kagan
2005-02-21 20:40 ` Erik van Konijnenburg
2005-02-22 10:35 ` Roman Kagan
2005-02-23 0:44 ` Erik van Konijnenburg
2005-02-23 11:40 ` Roman Kagan
2005-02-23 13:04 ` Erik van Konijnenburg
2005-02-24 6:27 ` Roman Kagan
2005-02-24 19:28 ` Erik van Konijnenburg
2005-02-25 22:07 ` Greg KH
2005-02-25 22:07 ` Greg KH
2005-02-25 22:11 ` Greg KH
2005-02-25 22:12 ` Greg KH
2005-02-26 17:13 ` Roman Kagan
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=20050211004033.GA26624@suse.de \
--to=gregkh@suse.de \
--cc=linux-hotplug-devel@lists.sourceforge.net \
--cc=linux-kernel@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).