David Miller wrote:Isn't net_rx_action() calling ->poll() to free the TX space ? TX queue full can only be emptied when the device is done transmitting not because of netpoll ->poll() it. The softirq (net_rx_action) is the purpose for such an event. Netconsole messages will be dropped if the device can't keep up with it regardless of netpoll ->poll() or not. If no dropping can be tolerated, then the netpoll upper layer probably should be redesigned to buffer the data. The poll_list currently is in a per_cpu structure, not being protected globally that netpoll thread from any cpu can trash it. The precise race is 1) net_rx_action get the dev from poll_list 2) at the same time, netpoll poll_napi() get a hold of the poll lock and calls ->poll(), remove dev from the poll list 3) after it finishes, net_rx_action get the poll lock, and calls ->poll() the second time, and panic when trying to remove (again) the dev from the poll list. and I had logged all the crash info from the crash scenes into the bug database. As Matt Mackall had acknowledged, the network fast path went to great length to reduce locking overhead, should that be undone because of netpoll if that's what it takes to fix it more correctly ? - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Alan Cox | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Jan Engelhardt | intel iommu (Re: -mm merge plans for 2.6.23) |
| Adrian Bunk | Re: LSM conversion to static interface |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
| Winkler, Tomas | RE: iwlwifi: fix build bug in "iwlwifi: fix LED stall" |
