From: Krishna Kumar <[EMAIL PROTECTED]> Date: Mon, 18 Jun 2007 10:24:11 +0530
> (Same from previous patch, resending for completion) > > Changes : > > - netif_queue_stopped need not be called inside qdisc_restart as > it has been called already in qdisc_run() before the first skb > is sent, and in __qdisc_run() after each intermediate skb is > sent (note : we are the only sender, so the queue cannot get > stopped while the tx lock was got in the ~LLTX case). > > - BUG_ON((int) q->q.qlen < 0) was a relic from old times when -1 > meant more packets are available, and __qdisc_run used to loop > when qdisc_restart() returned -1. During those days, it was > necessary to make sure that qlen is never less than zero, since > __qdisc_run would get into an infinite loop if no packets are on > the queue and this bug in qdisc was there (and worse - no more > skbs could ever get queue'd as we hold the queue lock too). With > Herbert's recent change to return values, this check is not > required. Hopefully Herbert can validate this change. If at all > this is required, it should be added to skb_dequeue (in failure > case), and not to qdisc_qlen. > > Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> Also applied to net-2.6.23, thanks a lot! - 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