* [ANNOUNCE] Hotplug-Perl
@ 2005-05-11 1:25 Anthony Awtrey
2005-05-11 6:32 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: Anthony Awtrey @ 2005-05-11 1:25 UTC (permalink / raw)
To: linux-hotplug
[SHORT VERSION]
Version 1.0 of hotplug-perl is now available at:
http://opensource.idealcorp.com/hotplug-perl/
It is a boot speed performance oriented implementation of hotplug
written in Perl. It requires a 2.6 kernel with hotplug and Perl 5.8. It
was developed with Debian Sarge as the target, but should work
elsewhere. The web page includes bootcharts demonstrating the
performance improvement over the bash implementation of hotplug.
[LONG VERSION]
Hello all,
We are developing a Debian-based tablet PC and are working on boot time
reductions. I played around with bootchart to figure out why our target
load based on Sarge was taking 1 minute 33 seconds to boot. It looked
like around 50 seconds was hotplug, so I started trying to figure out
what hotplug did and how to optimize the code.
Nothing I tried improved things very much, so I took a look at some of
the other hotplug projects out there. I think Greg KH's C implementation
is probably the right way to go long term, so I hacked together a perl
version of hotplug that we are going to use as a bridge until hotplug-ng
is ready for prime time.
The hotplug bash script iterates through the modules.*map files a line
at a time for each device it finds in the system. On our target system
it takes about 10 seconds just to get a list of the PCI modules. This
hotplug-perl implementation can list all the require modules for *all*
the subsystems in 4 tenths of a second; after that its all modprobe. We
reduced the boot time of our target system by 50 seconds by only
changing to hotplug-perl. We can now go from init to X in 43 seconds.
Now I get to play with X startup optimizations... :)
The following subsystems are supported right now:
o IDE o PCI
o IEEE1394 o SCSI
o INPUT o USB
o ISAPNP
All the subsystems are evaluated during the system startup, but I don't
have enough hardware to test all the subsystems as hotplug events. Right
now only USB, SCSI, INPUT and IEEE1394 events have been implemented and
tested. The /etc/hotplug.d/[subsystem]/*.hotplug scripts are also run
before modprobe if they exist and are executable.
I've tried to include all the little bits of the hotplug logic, like
delays in the scsi module until the /sys/.../media comes up, but some of
the code in that shell script is a little.. ah.. cryptic. I did not
bother trying to include support for 2.2 or 2.4 kernel, because I have
no way to test them.
Take a look if you are interested and let me know what you think. It
should be pretty easy to modify since everything is broken out into Perl
modules (Hotplug, Hotplug::PCI, Hotplug::USB, etc) and most of the
functions and tricky bits are commented. I look forward to your feedback!
Tony
--
Anthony L. Awtrey
Chief Technology Officer
[T] 407.999.9870 x13
[F] 407.999.9850
I.D.E.A.L. Technology Corporation
http://www.idealcorp.com
"The Leader in Linux and Open Source Solutions"
-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_ids93&alloc_id\x16281&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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ANNOUNCE] Hotplug-Perl
2005-05-11 1:25 [ANNOUNCE] Hotplug-Perl Anthony Awtrey
@ 2005-05-11 6:32 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2005-05-11 6:32 UTC (permalink / raw)
To: linux-hotplug
On Tue, May 10, 2005 at 09:25:39PM -0400, Anthony Awtrey wrote:
> [SHORT VERSION]
>
> Version 1.0 of hotplug-perl is now available at:
> http://opensource.idealcorp.com/hotplug-perl/
>
> It is a boot speed performance oriented implementation of hotplug
> written in Perl. It requires a 2.6 kernel with hotplug and Perl 5.8. It
> was developed with Debian Sarge as the target, but should work
> elsewhere. The web page includes bootcharts demonstrating the
> performance improvement over the bash implementation of hotplug.
Sweet, very nice stuff. I like it a lot. And wow, the code is even
documented, very nice job...
Now, to go add that sysfs file for MODALIAS to make it even faster :)
thanks,
greg k-h
-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_ids93&alloc_id\x16281&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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-05-11 6:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-11 1:25 [ANNOUNCE] Hotplug-Perl Anthony Awtrey
2005-05-11 6:32 ` Greg KH
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).