On Sun, 23 Mar 2014, Tetsuo Handa wrote:
> Thomas Gleixner wrote:
> > But then systemd/udev mutters:
> >
> > "You migh be able to work around the timeout with udev rules and
> > OPTIONS+="event_timeout=120", but that code was maybe never used
> > or tested, so it might not work correctly." [1]
> >
> > AFAICT from the ubuntu bug system [2] nobody bothered even to try that.
> >
> > And if the udev/systemd event_timeout option is broken it's way better
> > to fix that one instead of hacking random heuristics into the kernel.
>
> I haven't tried the event_timeout= option but I think it will not work.
> The timeout is hard coded as shown below and there will be no chance for
> taking
> the event_timeout= option into account.
>
> ---------- systemd-204/src/udev/udevd.c start ----------
> (...snipped...)
> /* check for hanging events */
> udev_list_node_foreach(loop, &worker_list) {
> struct worker *worker = node_to_worker(loop);
>
> if (worker->state != WORKER_RUNNING)
> continue;
>
> if ((now(CLOCK_MONOTONIC) -
> worker->event_start_usec) > 30 * 1000 * 1000) {
And because systemd has an immutable hardcoded random timeout we add
another hardcoded random timeout into kthread_create() to work around
that.
How broken is that?
And it seems other people have solved it:
http://www.redhat.com/archives/lvm-devel/2013-September/msg00036.html
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/