Subject: Re: pools, interrupt context, kpsignal2
To: None <firstname.lastname@example.org>
From: YAMAMOTO Takashi <email@example.com>
Date: 11/07/2006 08:20:17
> I'm wondering if sending a signal to a process is supposed to work from
> a interrupt handler. I got a fairly reasonable looking traceback from
> my machine when it hangs, and it looks like it's getting stuck in a pool_get
> call in kpsignal2(). This happens often when I'm running a linux-emul'd
> firefox binary. I've got a USB mouse and keyboard plugged in. Looking
> at the traceback, that seems somewhat relevant:
please file a PR.
siginfo code has an assumption that splsoftclock is enough to
block relevant interrupts. it's wrong.
even worse, after recent changes, ksiginfo_t is allocated even
if !SA_SIGINFO. it makes the problem appear even when siginfo is not
a slightly different but relevant problem: for virtual/profile clocks,
kpsignal is called by hardclock via itimerfire. ie. called above splvm.
i'm not sure if there's an easy way to fix it.