[systemd-devel] Communicating need

Scott James Remnant scott at netsplit.com
Thu May 12 09:09:22 PDT 2011


On Mon, May 9, 2011 at 4:32 PM, Lennart Poettering
<lennart at poettering.net>wrote:

> On Mon, 09.05.11 13:13, Scott James Remnant (scott at netsplit.com) wrote:
>
> > The System Daemon seems to be where systemd is much more clever; a
> Bluetooth
> > device unit would "want" the System Daemon, but that could be joined with
> > socket/D-Bus Activation right? So the presence of the device creates the
> > socket, but doesn't start the daemon until an actual connection from a
> > Userspace Agent/Applet arrives.
>
> Well, systemd allows you to do such a thing, but I don't think we want
> this really.
>
> Let me give you another example, then. I've already touched in the other
thread on the problem with input devices being delayed by other probing work
udev is doing.

Actually, it's more than that.

When we start the X server it enumerates the "udev known" input devices on
the system, since getting something on the screen is our top priority, the X
server comes up before that udevadm trigger (and maybe even before udevd is
running - I don't think there's a dep there).

Obviously there are no devices, and they are not tagged ID_INPUT by udev, so
X sees no devices. It's not until a few seconds later that the show up -
udevadm trigger may take meer hundreds of milliseconds (that sounds cheap to
you, expensive to us :p) but it takes udevd many seconds to actually deal
with the result.


In my ideal world, the X server starting up and asking for input devices
would "activate" the probes on those devices (and even load modules if
necessary - though for us they're built-in), so that the information is
delivered in a timely manner.

> 2) wouldn't it be better if the need could be communicated at all levels,
> > I'm thinking something like:
> >
> > Moving module loading from udevd to systemd would mean we don't *have* to
> > load the kernel driver, we just know we /can/ should we need to.
>
> This would be kernel 2.2 style module loading? I think that makes sense
> only for very few devices, mostly static singleton, even virtual devices
> only.
>
> Well, that style loading was "on activation" whereas you seem to be arguing
for "on event" here ;-) I thought systemd was all about the former, whereas
Upstart was all about the latter :p

Scott
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20110512/9c38c843/attachment.htm>


More information about the systemd-devel mailing list