Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 102299

Summary: sys-fs/udev-058 - udevd producing high load, eating up most CPU cycles
Product: Gentoo Linux Reporter: Thomas Schweikle <tps>
Component: [OLD] Core systemAssignee: Greg Kroah-Hartman (RETIRED) <gregkh>
Status: VERIFIED NEEDINFO    
Severity: critical    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Thomas Schweikle 2005-08-12 17:17:31 UTC
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
Comment 1 Greg Kroah-Hartman (RETIRED) gentoo-dev 2005-08-13 09:59:48 UTC
Upgrade your kernel, or your version of udev, and this should be fixed.
Comment 2 Thomas Schweikle 2005-08-13 16:49:35 UTC
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"?
Comment 3 Thomas Schweikle 2005-08-13 16:57:25 UTC
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.
Comment 4 Greg Kroah-Hartman (RETIRED) gentoo-dev 2005-08-14 15:07:06 UTC
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?
Comment 5 Thomas Schweikle 2005-08-14 15:55:04 UTC
> 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.
Comment 6 Greg Kroah-Hartman (RETIRED) gentoo-dev 2005-08-15 23:10:36 UTC
Great, thanks for upgrading and testing.  Glad it's working for you, I'll be 
marking 067 stable soon.