Re: netif_wake_queue() question

From: David S. Miller (davem@redhat.com)
Date: Mon Feb 28 2000 - 07:19:45 EST


   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/



This archive was generated by hypermail 2b29 : Tue Feb 29 2000 - 21:00:19 EST