2006-08-01 07:16:31

by Piet Delaney

[permalink] [raw]
Subject: udev taking a long time during startup

Hey Gang:

We were wondering why there is a 60 second delay on our systems
from the time that the kernel releases memory and the file system
is checked.

I dropped into kgdb during this period and found that an init
script, S10udev in our case, was sleeping in sys_nanosleep()
or sys_wait4(). Looks like thread/process S10udev forks udevstart
which forks udev which appears to be sleeping or waiting every time
I check in on it; Seems terribly wasteful.

udev seems to be a utility for hotplug and configured
with /etc/udev/udev.conf. Since we have no hot plug devices
I wonder if it really has to be called on every startup. On
solaris the device nodes are only re-established if you boot
with a -r option.

I never see any children of udev, so I wonder why it's
calling wait4() and nanosleep() so often.

Any thoughts or suggestions?

-piet

--
Piet Delaney
BlueLane Teck
W: (408) 200-5256; [email protected]
H: (408) 243-8872; [email protected]



2006-08-02 03:42:42

by Greg KH

[permalink] [raw]
Subject: Re: udev taking a long time during startup

On Tue, Aug 01, 2006 at 12:16:25AM -0700, Piet Delaney wrote:
> Hey Gang:
>
> We were wondering why there is a 60 second delay on our systems
> from the time that the kernel releases memory and the file system
> is checked.
>
> I dropped into kgdb during this period and found that an init
> script, S10udev in our case, was sleeping in sys_nanosleep()
> or sys_wait4(). Looks like thread/process S10udev forks udevstart
> which forks udev which appears to be sleeping or waiting every time
> I check in on it; Seems terribly wasteful.

You don't let us know what kernel version, or what version of udev, or
even what distro you are using. I think we need a bit more information
here :)

> udev seems to be a utility for hotplug and configured
> with /etc/udev/udev.conf. Since we have no hot plug devices
> I wonder if it really has to be called on every startup. On
> solaris the device nodes are only re-established if you boot
> with a -r option.

Yes, udev figures out what device nodes to create at boot time, it is
required if you want to use it.

thanks,

greg k-h

2006-08-02 08:59:15

by Kay Sievers

[permalink] [raw]
Subject: Re: udev taking a long time during startup

On Tue, 2006-08-01 at 00:16 -0700, Piet Delaney wrote:
> We were wondering why there is a 60 second delay on our systems
> from the time that the kernel releases memory and the file system
> is checked.
>
> I dropped into kgdb during this period and found that an init
> script, S10udev in our case, was sleeping in sys_nanosleep()
> or sys_wait4(). Looks like thread/process S10udev forks udevstart
> which forks udev which appears to be sleeping or waiting every time
> I check in on it; Seems terribly wasteful.
>
> udev seems to be a utility for hotplug and configured
> with /etc/udev/udev.conf. Since we have no hot plug devices
> I wonder if it really has to be called on every startup. On
> solaris the device nodes are only re-established if you boot
> with a -r option.
>
> I never see any children of udev, so I wonder why it's
> calling wait4() and nanosleep() so often.

You may check with your distro, that sounds like a broken setup. And
please ask further questions on: [email protected]

Thanks,
Kay