Jamal wrote: > tg3_start_xmit(): > > prepare skb > grab ring tx lock irq safe > put skb on ring > if (full-ring) > stop > release ring tx lock and restore flags blah
The whole point of doing things the way it is done in tg3 is to avoid taking the lock unless there is a need to stop the queue or wake the queue. With a 511 entry send ring in tg3, filling the entire tx ring should not happen all the time. Even if we fill the tx ring constantly, the hysteresis effect of waking the queue only after the tx ring is 3/4 empty will make it uncommon to do stop_queue and wake_queue. So it is the right thing to do to optimize for the case where the ring is not full. The penalty is that we need some extra checking after stopping the queue which should be the uncommon case. - 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