[systemd-devel] Making udev emit a signal when it is done loading modules

Lennart Poettering lennart at poettering.net
Tue Jan 27 17:38:52 PST 2015


On Sat, 17.01.15 17:03, Zbigniew Jędrzejewski-Szmek (zbyszek at in.waw.pl) wrote:

> On Sat, Jan 17, 2015 at 09:44:00AM +0100, Hans de Goede wrote:
> > We would like
> > udev to emit a signal (ABI to be discussed) when it is done
> > trying to load modules for everything which was already enumerated
> > when it starts, iow when there are no new device events pending
> > anymore when udev does its initial hotplug replay.
> I think you can just create a unit like:
> 
> # disable-new-hardware.service
> [Unit]
> After=systemd-udev-settle.service systemd-modules-load.service
> Wants=systemd-udev-settle.service
> 
> [Service]
> Type=oneshot
> RemainAfterExit=yes
> ExecStart=/usr/local/bin/ping-the-kernel
> 
> > So the question to you is would you be willing to include such
> > functionality in udev?
> I don't think udevd has enough knowledge. But a systemd unit like
> the one above should work.

To clarify this: if people do this, then this pulls in
systemd-udev-settle.service, which slows down boot. Every service that
does that is hence a majour source of slowness. 

It's a hack to use this, not a solution. 

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list