udevd is starting normal, but after a while starts eating up more and more CPU cycles, bringing the system slowly down to unusable. Reproducible: Always Steps to Reproduce: 1. Install Kernel 2.6.11-r9, udev-58 2. configure it properly 3. wait Actual Results: udevd is slowly taking more and more CPU time, the system responds slower and slower to any action taken by the user. Expected Results: udevd should just work, but without producing high CPU load. Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.3, glibc-2.3.5-r0, 2.6.11-gentoo-r9 i686) ================================================================= System uname: 2.6.11-gentoo-r9 i686 Pentium II (Deschutes) Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.11 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 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium2 -O3 -pipe" CHOST="i686-pc-linux-gnu" 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/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /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" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks fixpackages notitles sandbox sfperms strict" GENTOO_MIRRORS="http://hazel.tps/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/home/tps/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" 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: https://bugs.gentoo.org/show_bug.cgi?id=102298). udev-058 seem to be the latest version available not masked. I found versions: udev-059 udev-060 udev-062 udev-063 udev-064-r1 udev-064 udev-065 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 - sys-kernel/gentoo-sources-2.6.12-r6 - sys-fs/udev-065 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 bad effects. > What does 'ls /etc/udev/rules.d' show? yew etc # ls -la /etc/udev/rules.d/ total 20 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? No.
Great, thanks for upgrading and testing. Glad it's working for you, I'll be marking 067 stable soon.