On Thu, 20 May 2010, Jan-Bernd Themann wrote: > > > Thought more about that. The case at hand (ehea) is nasty: > > > > > > The driver does _NOT_ disable the rx interrupt in the card in the rx > > > interrupt handler - for whatever reason. > > > > Yeah I saw that, but I don't know why it's written that way. Perhaps > > Jan-Bernd or Doug will chime in and enlighten us? :) > > From our perspective there is no need to disable interrupts for the > RX side as the chip does not fire further interrupts until we tell > the chip to do so for a particular queue. We have multiple receive
The traces tell a different story though: ehea_recv_irq_handler() napi_reschedule() eoi() ehea_poll() ... ehea_recv_irq_handler() <---------------- ??? napi_reschedule() ... napi_complete() Can't tell whether you can see the same behaviour in mainline, but I don't see a reason why not. > queues with an own interrupt each so that the interrupts can arrive > on multiple CPUs in parallel. Interrupts are enabled again when we > leave the NAPI Poll function for the corresponding receive queue. I can't see a piece of code which does that, but that's probably just lack of detailed hardware knowledge on my side. Thanks, tglx _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev