question about softirqs
Chris Friesen
cfriesen at nortel.com
Thu May 14 01:05:01 EST 2009
Andi Kleen wrote:
> Thomas Gleixner <tglx at linutronix.de> writes:
>>Err, no. Chris is completely correct:
>>
>> if (!in_interrupt())
>> wakeup_softirqd();
>
> Yes you have to wake it up just in case, but it doesn't normally
> process the data because a normal softirq comes in faster. It's
> just a safety policy.
What about the scenario I raised earlier, where we have incoming network
packets, no hardware interrupts coming in other than the timer tick, and
a high-priority userspace app is spinning on recvmsg() with MSG_DONTWAIT
set?
As far as I can tell, in this scenario softirqs may not get processed on
return from a syscall (contradicting the documentation). In the worst
case, they may not get processed until the next timer tick.
Chris
More information about the Linuxppc-dev
mailing list