Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 May 2015 10:35:24 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 200493] Killing pid 11 (idle) wedges the disk IO
Message-ID:  <bug-200493-8-BGFGcsuvPi@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-200493-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-200493-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200493

--- Comment #8 from Konstantin Belousov <kib@FreeBSD.org> ---
(In reply to Konstantin Belousov from comment #7)
And to express my opinion on the whole stuff.

The signal delivery to the kernel threads must be opt-in feature.  Kernel
thread should explicitely declare the ability to handle signals directed to it.
 E.g., nfsd threads check for signal as an indication of exit request.

Most threads do not handle signals at all, and queuing the signal to them
causes odd side-effects.  Most innocent consequence is the memory leak due to
queued ksiginfo, which is never deleted from the sigqueue.  Or, the priority
bump for the idle thread, as you discovered.

Code to prevent even queuing signals to the kernel threads is trivial, but it
requires careful examination of each call to kproc/kthread creation to decide
should the signalling be allowed.  The patch I provided IMO is good stop-gap
measure which fixes the immediate ugly case.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-200493-8-BGFGcsuvPi>