Messages in this thread | | | Date | Mon, 28 Feb 2000 04:19:45 -0800 | From | "David S. Miller" <> | Subject | Re: netif_wake_queue() question |
| |
Date: Mon, 28 Feb 2000 23:03:07 +1100 From: "Andrew Morton" <morton@nortelnetworks.com>
If you call netif_wake_queue() within the hard_start_xmit() handler and if you have another skb queued then your hard_start_xmit() handler will be called again really soon by the softirq stuff (at the exit from the next irq, syscall or exception handler), often before the current packet has been sent. Your driver may well choke on this. Also correct?
It's harmless, the hard_start_xmit() routine is guarenteed to be called atomically.
At worst you'll get a spurious softirq run, nothing more.
The driver should just use netif_start_queue() in hard_start_xmit, but only for efficiency, not correctness.
Later, David S. Miller davem@redhat.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |