From: Francois Romieu <[EMAIL PROTECTED]> Date: Wed, 7 Sep 2005 20:59:49 +0200
> Stephen Hemminger <[EMAIL PROTECTED]> : > [...] > > It really sounds like netconsole needs to have a different device hook > > instead of start_xmit. It also probably doesn't want to have allocate > > an skb. What you want is a synchronous way to send one packet with > > interrupts disabled: > > > > (dev->netpoll_send)(dev, packet, len) > > I do not see how it will solve the issue raised by David: > > hard_start_xmit does not disable irq and takes nearly no lock, > thus it can be interrupted if a random irq event happens on a > different device. Assume that the driver of the said different > device issues a printk through netconsole and the game is over. > > Without extra locking, netpoll_send can not know that the > interrupted hard_start_xmit has left the device/driver in a sane > state. Exactly. As I tried to make clear in a previous email I sent out today in this thread, netpoll would need to take over the _entire_ set of driver code paths in order to work, similarly to how the serial console stuff does. - 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