On Wed, 13 May 2009, Andi Kleen wrote: > On Wed, May 13, 2009 at 01:44:59PM -0600, Chris Friesen wrote: > > Andi Kleen wrote: > > > On Wed, May 13, 2009 at 01:04:09PM -0600, Chris Friesen wrote: > > >> Andi Kleen wrote: > > >> > > >>> network packets are normally processed by the network packet interrupt's > > >>> softirq or alternatively in the NAPI poll loop. > > >> If we have a high priority task, ksoftirqd may not get a chance to run. > > > > > > In this case the next interrupt will also process them. It will just > > > go more slowly because interrupts limit the work compared to ksoftirqd. > > > > I realize that they will eventually get processed. My point is that the > > documentation (in-kernel, online, and in various books) says that > > softirqs will be processed _on the return from a syscall_. > > They are. The documentation is correct.
No, the documentation is wrong for the case that the task, which raised the softirq and therefor woke up ksoftirqd, has a higher priority than ksoftirqd. In that case the kernel does _NOT_ schedule ksoftirqd in the return from syscall path. And that's all what Chris is pointing out. Thanks, tglx _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev