On Sunday 20 August 2006 03:31, Stephen Hemminger wrote: > > The reason reclaim via poll() is efficient is because it avoid causing a > softirq that is > necessary when skb_free_irq() is done. Instead it reuses the softirq > from the poll() routine.
Ok, I completely missed this point so far, thanks for the info. > Like all Rx NAPI, using poll() for reclaim means: > + aggregating multiple frames in one irq > - increased overhead of twiddling with the IRQ mask > - more ways to get driver stuck What is the best way to treat the IRQ mask for TX interrupts? I guess it should be roughly: - off when we expect ->poll() to be called, i.e. after calling netif_rx_schedule() or returning after a partial rx from poll(). - off when there are no packets left in the TX queue - on while RX interrupts are on and we're waiting for packets to be transmitted. > Some drivers do all their irq work in the poll() routine (including PHY > handling). > This is good if reading the IRQ status does an auto mask operation. > > The whole NAPI documentation area is a mess and needs a good writer > to do some major restructuring. It should also be split into reference > information, > tutorial and guide sections. I won't be able to do that work, I'm neither a good writer nor a networking person. Do you think we should still merge a section like the text I wrote up, even if it makes the text even less well structured? Should I maybe add it somewhere else than the appendix? Arnd <>< - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html