[Bloat] bufferbloat bug 216 could use some eyeballs badly

Simon Barber simon at superduper.net
Mon Aug 1 15:44:42 EDT 2011


I did the original implementation of wireless queuing in mac80211. The 
original implementation installed a special wireless root qdisc on the 
interface in order to model the hardware queues correctly, and allow 
leaf qdiscs to be installed. Ideally the MAC queues would also have been 
moved into this qdisc. The wireless root qdisc sat on an interface that 
represented the physical radio and had an 802.11 frame type. There were 
one or more 802.3 format virtual interfaces that represented wireless 
client or APs. The wireless qdisc on the native 802.11 interface saw 
frames in 802.11 format, and hence could calculate how much airtime 
would be taken transmitting the frame - this would allow development of 
qdiscs to do things like share airtime rather than bandwidth. The 
wireless root qdisc exposed the native hardware queues that exist in 
802.11 chip sets and bypassed the normal single queue netdev interface. 
This allowed the hardware queues to be fed independently.

Unfortunately the native 802.11 interface was deemed confusing to users, 
and this code got pulled out of the kernel, thus preventing the qdisc 
system from ever properly working when more than one virtual Ethernet 
interface is used with a wireless card - such as when you run multiple 
virtual APs on a wireless card, or simultaneous AP and client modes. 
This concept of a special wireless root qdisc is necessary to model the 
hardware queues and the MAC queues in 802.11 correctly - you're not 
queuing lots of frames in the driver, rather extending the queuing 
system to implement parts of the MAC.

Simon

On 08/01/2011 06:30 AM, John W. Linville wrote:
> On Mon, Aug 01, 2011 at 06:06:43AM -0600, Dave Taht wrote:
>> If anyone can spare some eyeballs for the discussion of wireless-n AMPDUs
>> and their interaction with bufferbloat, and groks TCP's behavior and/or
>> wireless's behavior, I'd appreciate some comment on:
>>
>> http://www.bufferbloat.net/issues/216
>>
>> Losing SOME appropriate packets, somewhere in the wireless stack, is
>> necessary.
>
> It seems appropriate to Cc: linux-wireless at vger.kernel.org for this...
>




More information about the Bloat mailing list