Significant performance problem with modprobe
Lauri Kasanen
curaga at operamail.com
Tue Jun 14 15:02:48 UTC 2011
> Could you try changing busybox to use getc_unlocked? I suspect you have
> thread capable libc/uclibc and they are doing a lot of locking. Locking
> is cpu-wise expensive operation. Especially in this case as the lock is
> reacquired for *every character* in the dependency file.
>
> That's only thing I can think of what could be going differently.
>
> And this would be issue in the config_* function on libbb. And causing
> performance issues in multiple other places too.
I did the attached change, which improved bb somewhat, but it still
loses to the full one (without the .bins).
1.18.5 takes 1.9x as long as the full one on my test workload.
(attached, 64 modprobes, recorded from a typical boot)
1.18.5 with the patch takes 1.52x the time, better, but still slower.
I'm on standard x86/glibc, so reproducing this should be fairly easy.
- Lauri
--
http://www.fastmail.fm - A fast, anti-spam email service.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: unlocked.patch
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20110614/ff5785c9/attachment.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: modlist
Type: application/octet-stream
Size: 1594 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20110614/ff5785c9/attachment.obj>
More information about the busybox
mailing list