I appreciate any help on this question:
When outgoing packets are sent out by dev_queue_xmit, and
dev->tbusy is true, it's queued in the link-level queue. Suppose the
device has been continuously busy for a while and the link-level queue
dev->qdisc fills up. Later when the device is not busy any more, who is
responsible for sending out the queued packets? I only see 2
possibilities:
1. When another outgoing packet comes down from higher level protocols and
hard_start_xmit calls qdisc_wakeup. But then only one packet is sent out
by qdisc_wakeup, so this does not empty the queue.
2. When an incoming packet generates an interrupt and qdisc_run_queues is
called from net_bh, therefore emptying the outgoing queue.
But what if no incoming packets are forthcoming? I don't see how the
outgoing queue can be emptied.
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]