Is it possible to do the equivalent of send_sig_info()
to current from within switch_to()? My attempts to do
so have all lead to hard kernel hangs, so I guess not,
but I though I'd ask anyway.
There is a HW-issue with delayed interrupts from performance
counter overflows on x86 and x86-64, which, if not handled,
can result in a interrupt being delivered to the wrong task.
(It's only been observed with certain high-rate events.)
I can work around this in the perfctr kernel extension by
masking the interrupt early in switch_to()'s suspend path
and manually detecting if any counters have overflowed.
Normal HW-detected overflows are routed to user-space via a
send_sig_info() in the interrupt handler. The problem is that
calling send_sig_info() from within switch_to() to signal
SW-detected overflows seems to cause kernel hangs. (I've tried
it both in the suspend path and in the resume path.)
Any ideas?
/Mikael