linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* mac80211 using different tx queue for frames with same TID and RA
@ 2010-08-30 14:01 Helmut Schaa
  2010-08-30 14:11 ` Johannes Berg
  0 siblings, 1 reply; 5+ messages in thread
From: Helmut Schaa @ 2010-08-30 14:01 UTC (permalink / raw)
  To: linux-wireless; +Cc: Krishna Kumar, netdev

Hi,

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.

This behavior seems to have changed already a while ago with the patch
"net: Use sk_tx_queue_mapping for connected sockets" (CC'ing Krishna & netdev).

Thanks,
Helmut

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mac80211 using different tx queue for frames with same TID and RA
  2010-08-30 14:01 mac80211 using different tx queue for frames with same TID and RA Helmut Schaa
@ 2010-08-30 14:11 ` Johannes Berg
  2010-08-30 14:34   ` Helmut Schaa
  0 siblings, 1 reply; 5+ messages in thread
From: Johannes Berg @ 2010-08-30 14:11 UTC (permalink / raw)
  To: Helmut Schaa; +Cc: linux-wireless, Krishna Kumar, netdev

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.

johannes


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mac80211 using different tx queue for frames with same TID and RA
  2010-08-30 14:11 ` Johannes Berg
@ 2010-08-30 14:34   ` Helmut Schaa
  2010-08-30 14:41     ` Johannes Berg
  0 siblings, 1 reply; 5+ messages in thread
From: Helmut Schaa @ 2010-08-30 14:34 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Krishna Kumar, netdev

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.

Helmut

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mac80211 using different tx queue for frames with same TID and RA
  2010-08-30 14:34   ` Helmut Schaa
@ 2010-08-30 14:41     ` Johannes Berg
  2010-08-30 14:50       ` Helmut Schaa
  0 siblings, 1 reply; 5+ messages in thread
From: Johannes Berg @ 2010-08-30 14:41 UTC (permalink / raw)
  To: Helmut Schaa; +Cc: linux-wireless, Krishna Kumar, netdev

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? Seems bogus to use it though.

johannes


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mac80211 using different tx queue for frames with same TID and RA
  2010-08-30 14:41     ` Johannes Berg
@ 2010-08-30 14:50       ` Helmut Schaa
  0 siblings, 0 replies; 5+ messages in thread
From: Helmut Schaa @ 2010-08-30 14:50 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Krishna Kumar, netdev

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-08-30 14:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-30 14:01 mac80211 using different tx queue for frames with same TID and RA Helmut Schaa
2010-08-30 14:11 ` Johannes Berg
2010-08-30 14:34   ` Helmut Schaa
2010-08-30 14:41     ` Johannes Berg
2010-08-30 14:50       ` Helmut Schaa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).