udevd is starting normal, but after a while starts eating up more and more CPU
cycles, bringing the system slowly down to unusable.
Steps to Reproduce:
1. Install Kernel 2.6.11-r9, udev-58
2. configure it properly
udevd is slowly taking more and more CPU time, the system responds slower and
slower to any action taken by the user.
udevd should just work, but without producing high CPU load.
Portage 188.8.131.52-r2 (default-linux/x86/2005.0, gcc-3.4.3, glibc-2.3.5-r0,
System uname: 2.6.11-gentoo-r9 i686 Pentium II (Deschutes)
Gentoo Base System version 1.6.13
sys-devel/autoconf: 2.13, 2.59-r6
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
CFLAGS="-march=pentium2 -O3 -pipe"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.1/share/config
/usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown
/usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium2 -O3 -pipe"
FEATURES="autoconfig distlocks fixpackages notitles sandbox sfperms strict"
USE="x86 X alsa apache2 apm arts avi bitmap-fonts browserplugin cdr crypt cups
curl eds emboss encode esd fam flac foomaticdb fortran gd gdbm gif gpm gstreamer
gtk gtk2 imagemagick imlib ipv6 java jpeg junit kde ldap libg++ libwww
linguas_de linguas_en linguas_fr mad mikmod motif mozcalendar mozdevelop mozilla
mozsvg mozxmlterm mp3 mpeg ncurses nls nptl ogg oggvorbis opengl oss pam pdflib
perl png python qt quicktime readline ruby sdl slang snmp softmmu speex spell
ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts vorbis xine
xml xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
udev installed: sys-fs/udev-058
Upgrade your kernel, or your version of udev, and this should be fixed.
Upgrading the kernel isn't possible at the moment (see bug no: 102298 -
VMware not running with kernel 2.6.12-r6:
udev-058 seem to be the latest version available not masked. I found
being masked. Which one is appropriate for use with kernel 2.6.11-r9?
Can I take the latest: udev-065.ebuild or are there any dependencies
requiring kernel 2.6.12-r6, or should I downgrade to "udev-045.ebuild"?
Even with kernel 2.6.12-r6 (the latest not masked available) this problem
remains: udevd is the most running software on the machine. It takes about 30%
of all CPU cycles available. This goes up to more than 80% if I just insert a CDROM.
The system responds slow. It isn't even capable to handle all events send by
udevsend. Leading to several udevsend processes hanging around. These
"exploding" if there is a bit more load like compiling a new kernel.
I do not think this is solved at all!
I've done testing with
nothing else was changed, except things needed by udev-065.
Nothing else should have been needed by udev to upgrade.
Can you attach strace to the running udevd program and let me know what it is doing?
Also, have you written any custom udev rules? What does 'ls /etc/udev/rules.d' show?
Have you created any custom /etc/dev.d/ rules?
> Nothing else should have been needed by udev to upgrade.
Yes, this was correct. Since I allready had the newest available Gentoo-system,
I did not have to upgrade anything else. Only drawback: any udev version higher
than 058 is masked by "~x86". Thus there is no "upgrade". I have to make use of
"/etc/portage/package.keywords". Adding in a line ">sys-fs/udev-058" to have
portage update to the latest version.
> Can you attach strace to the running udevd program and
> let me know what it is doing?
Meanwhile I upgraded to udev-067. The problems are gone. But I couldn't find
anything special or suspect tracing udev-065. I can downgrade and trace again if
it would be worth. With udev-067 CPU load droped from 30% down to 2%. No more
load dependend effects.
> Also, have you written any custom udev rules?
Yes, I have tried, but did not have success with some custom rules for removable
firewire/usb harddrives. I moved them out of way for all testing, having only
what udev-xxx provided for the tests --- making sure, no error of mine having
> What does 'ls /etc/udev/rules.d' show?
yew etc # ls -la /etc/udev/rules.d/
drwxr-xr-x 2 root root 4096 Aug 15 00:36 .
drwxr-xr-x 5 root root 4096 Aug 14 02:30 ..
-rw-r--r-- 1 root root 11427 Aug 14 12:29 50-udev.rules
> Have you created any custom /etc/dev.d/ rules?
Great, thanks for upgrading and testing. Glad it's working for you, I'll be
marking 067 stable soon.