Messages in this thread | | | From | Olaf Kirch <> | Subject | Re: [patch] revert: [NET]: Fix races in net_rx_action vs netpoll | Date | Tue, 17 Jul 2007 10:16:25 +0200 |
| |
On Monday 16 July 2007 23:40, Linus Torvalds wrote: > - The change seems to always set the LIST_FROZEN bit when calling > ->poll(), and at least on e1000, the NAPI poll() routine ends up doing > that netif_rx_complete(), so we're *guaranteed* to always take the > early exit and not do anything.
That is only in the poll_napi case, where netpoll tries to push pending frames. The default caller for dev->poll() is net_rx_action.
We only ever get into this particular code branch in poll_napi when the RX_SCHED bit is already set, ie someone put the device on the NAPI poll_list and raised the softirq. poll_napi is just doing manually what net_rx_action would do anyway once the softirq is serviced.
> - The early return from netif_rx_complete() ends up meaning that an > edge-triggered interrupt isn't handled properly, and will this never > happen again, since it never goes away.
Sorry, I may be sitting on my brain this morning, but I don't understand how skipping netif_rx_complete would affect ACKing of interrupts.
Olaf -- Olaf Kirch | --- o --- Nous sommes du soleil we love when we play okir@lst.de | / | \ sol.dhoop.naytheet.ah kin.ir.samse.qurax - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |