Subject: Re: mac80211 using different tx queue for frames with same TID and RA

From: Helmut Schaa <helmut.schaa-gM/[email-masked]>
Date: Mon, 30 Aug 2010 16:50:39 +0200

Am Monday 30 August 2010 schrieb Johannes Berg:
> On Mon, 2010-08-30 at 16:34 +0200, Helmut Schaa wrote:
> > Am Monday 30 August 2010 schrieb Johannes Berg:
> > > On Mon, 2010-08-30 at 16:01 +0200, Helmut Schaa wrote:
> > > 
> > > > while debugging an issue in rt2x00 I've discovered that in some cases frames
> > > > with the same TID and RA end up in different tx queues (which causes problems
> > > > in rt2x00 when using aggregation).
> > > > 
> > > > Is this behavior expected and we need to handle that case in rt2x00 or is it
> > > > more likely a bug? At least I thought the select_queue implementation in
> > > > mac80211 was meant to always pick the same tx queue for skbs with the same
> > > > priority and hence it shouldn't happen that frames with the same TID are
> > > > queued into different tx queues.
> > > 
> > > Indeed, that seems like a bug. I don't see how this can happen though,
> > > since the code _appears_ to not use the sk_tx_queue_mapping when an
> > > ndo_select_queue method is present.
> > 
> > Hmm, this issue seems to only happen when the wifi interface (AP mode)
> > is part of a bridge and the frame is tx'ed through the bridge.
> 
> Ok, I guess in that case it may actually have a socket TX queue mapping
> already?

Yes, it has. I've just replaced the call to sk_tx_queue_get in dev_pick_tx
with a -1 assignment and everything works fine in bridge mode as well now.

> Seems bogus to use it though.

Agreed, I'd like to hear what the netdev folks think about this? Should the
tx queue mapping used in this case at all? Or should the tx queue mapping be
on a per netdev base?

Helmut
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email-masked]
More majordomo info at  http://vger.kernel.org/majordomo-info.html