On Sun, 2014-03-23 at 15:28 +0100, Thomas Gleixner wrote: > On Sun, 23 Mar 2014, James Bottomley wrote: > > On Sun, 2014-03-23 at 09:04 +0100, Thomas Gleixner wrote: > > > 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 > > > > I agree with Thomas. A hardcoded timeout is a systemd bug. However, > > could I get confirmation, while you can use this bug to do it, that the > > patch back in this thread actually fixes the crash when scsi_alloc_host > > fails, that's the serious SCSI bug, in my view? > > Which patch, the one to kthread_create() or the one to SCSI? The one to SCSI ... I'm only really interested in the oops when scsi_host_alloc fails. James -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html