Thread (75 messages) 75 messages, 14 authors, 2014-10-15

Re: [RFC v2 3/6] kthread: warn on kill signal if not OOM

From: James Bottomley <James.Bottomley@HansenPartnership.com>
Date: 2014-09-09 19:35:52
Also in: linux-scsi, lkml

On Tue, 2014-09-09 at 12:16 -0700, Luis R. Rodriguez wrote:
On Mon, Sep 8, 2014 at 10:38 PM, James Bottomley
[off-list ref] wrote:
quoted
If we want to sort out some sync/async mechanism for probing devices, as
an agreement between the init systems and the kernel, that's fine, but
its a to-be negotiated enhancement.
Unfortunately as Tejun notes the train has left which already made
assumptions on this.
Well, that's why it's a bug.  It's a material regression impacting
users.
 I'm afraid distributions that want to avoid this
sigkill at least on the kernel front will have to work around this
issue either on systemd by increasing the default timeout which is now
possible thanks to Hannes' changes or by some other means such as the
combination of a modified non-chatty version of this patch + a check
at the end of load_module() as mentioned earlier on these threads.
Increasing the default timeout in systemd seems like the obvious bug fix
to me.  If the patch exists already, having distros that want it use it
looks to be correct ... not every bug is a kernel bug, after all.

Negotiating a probe vs init split for drivers is fine too, but it's a
longer term thing rather than a bug fix.
quoted
For the current bug fix, just fix  the component that broke ... which would be systemd.
For new systems it seems the proposed fix is to have systemd tell the
kernel what it thought it should be seeing and that is all pure async
probes through a sysctl, and then we'd do async probe on all modules
unless a driver is specifically flagged with a need to run synchronous
(we'll enable this for request_firmware() users for example to start
off with).
I don't have very strong views on this one.  However, I've got to say
from a systems point of view that if the desire is to flag when the
module is having problems, probing and initializing synchronously in a
thread spawned by init which the init process can watchdog and thus can
flash up warning messages seems to be more straightforwards than an
elaborate asynchronous mechanism with completion signalling which
achieves the same thing in a more complicated (and thus bug prone)
fashion.

James
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help