Patrick McHardy wrote: > jamal wrote: > > Sure - but what is wrong with that? > > > Nothing, this was just to illustrate why I disagree with the assumption > that the packet has hit the wire. On second thought I do agree with your > assumption for the single HW queue case, at the point we hand the packet > to the HW the packet order is determined and is unchangeable. But this > is not the case if the hardware includes its own scheduler. The qdisc > is simply not fully in charge anymore.
For WiFi devices the HW often implements the scheduling, especially when QoS (WMM/11e/11n) is implemented. There are few traffic queues defined by the specs and the selection of the next queue to transmit a packet from, is determined in real time, just when there is a tx opportunity. This cannot be predicted in advance since it depends on the medium usage of other stations. Hence, to make it possible for wireless devices to use the qdisc mechanism properly, the HW queues should _ALL_ be non-empty at all times, whenever data is available in the upper layers. Or in other words, the upper layers should not block a specific queue because of the usage of any other queue. > > Your basic assumption seems to be that the qdisc is still in charge > of when packets get sent. This isn't the case if there is another > scheduler after the qdisc and there is contention in the second > queue. Which is often the case in wireless devices - transmission scheduling is done in HW. - 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