Re: Kernel problem
From: David Miller <davem@davemloft.net>
Date: 2009-02-26 12:10:55
From: Herbert Xu <herbert@gondor.apana.org.au> Date: Thu, 26 Feb 2009 19:56:04 +0800
On Thu, Feb 26, 2009 at 10:56:16AM +0000, Jarek Poplawski wrote:quoted
netconsole. It's a known issue, btw.I see. So the problem in this case appears to be that we're processing incoming packets in netpoll_poll. So the obvious question can we just not do that since all we need to do is transmit packets?
netpoll supports receiving packets and has a trap handler to eat them to avoid packets it is interested in going into the real stack. (netpoll_receive_skb, netpoll_rx_skb, etc.) I'm pretty sure this has been discussed before. :-) If I'm not mistaken, we only see this with certain drivers, and the issue therefore likely has to do with how such drivers implement their poll handler. If you do your ->poll_controller() handler without taking IRQ locks, you're fine. Or something like that...