All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] mac80211: make ieee802_1d_to_ac avilable to drivers
@ 2010-11-23  1:23 Luis R. Rodriguez
  2010-11-23  1:23 ` [PATCH 2/3] ath9k: avoid aggregation for VO traffic Luis R. Rodriguez
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Luis R. Rodriguez @ 2010-11-23  1:23 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Luis R. Rodriguez

This will be used by ath9k's RC next.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
 include/net/mac80211.h |   15 +++++++++++++++
 net/mac80211/wme.c     |   14 --------------
 net/mac80211/wme.h     |    2 --
 3 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 5b0fff2..209c858 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -110,6 +110,21 @@ enum ieee80211_ac_numbers {
 	IEEE80211_AC_BK		= 3,
 };
 
+/*
+ * Default mapping in classifier to work with default
+ * queue setup.
+ */
+static const int ieee802_1d_to_ac[8] = {
+	IEEE80211_AC_BE,
+	IEEE80211_AC_BK,
+	IEEE80211_AC_BK,
+	IEEE80211_AC_BE,
+	IEEE80211_AC_VI,
+	IEEE80211_AC_VI,
+	IEEE80211_AC_VO,
+	IEEE80211_AC_VO
+};
+
 /**
  * struct ieee80211_tx_queue_params - transmit queue configuration
  *
diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c
index 58e75bb..43d9a0e 100644
--- a/net/mac80211/wme.c
+++ b/net/mac80211/wme.c
@@ -18,20 +18,6 @@
 #include "ieee80211_i.h"
 #include "wme.h"
 
-/* Default mapping in classifier to work with default
- * queue setup.
- */
-const int ieee802_1d_to_ac[8] = {
-	IEEE80211_AC_BE,
-	IEEE80211_AC_BK,
-	IEEE80211_AC_BK,
-	IEEE80211_AC_BE,
-	IEEE80211_AC_VI,
-	IEEE80211_AC_VI,
-	IEEE80211_AC_VO,
-	IEEE80211_AC_VO
-};
-
 static int wme_downgrade_ac(struct sk_buff *skb)
 {
 	switch (skb->priority) {
diff --git a/net/mac80211/wme.h b/net/mac80211/wme.h
index 6053b1c..c5501b5 100644
--- a/net/mac80211/wme.h
+++ b/net/mac80211/wme.h
@@ -18,8 +18,6 @@
 
 #define QOS_CONTROL_ACK_POLICY_SHIFT 5
 
-extern const int ieee802_1d_to_ac[8];
-
 u16 ieee80211_select_queue(struct ieee80211_sub_if_data *sdata,
 			   struct sk_buff *skb);
 void ieee80211_set_qos_hdr(struct ieee80211_local *local, struct sk_buff *skb);
-- 
1.7.3.2.90.gd4c43


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

* [PATCH 2/3] ath9k: avoid aggregation for VO traffic
  2010-11-23  1:23 [PATCH 1/3] mac80211: make ieee802_1d_to_ac avilable to drivers Luis R. Rodriguez
@ 2010-11-23  1:23 ` Luis R. Rodriguez
  2010-11-23  3:02   ` Johannes Berg
  2010-11-23 12:14   ` Björn Smedman
  2010-11-23  1:23 ` [PATCH 3/3] mac80211: " Luis R. Rodriguez
  2010-11-23  3:01 ` [PATCH 1/3] mac80211: make ieee802_1d_to_ac avilable to drivers Johannes Berg
  2 siblings, 2 replies; 9+ messages in thread
From: Luis R. Rodriguez @ 2010-11-23  1:23 UTC (permalink / raw)
  To: johannes
  Cc: linux-wireless, Luis R. Rodriguez, Matt Smith,
	Senthil Balasubramanian

This should help with latency issues which can happen when
using aggregation.

Cc: Matt Smith <matt.smith@atheros.com>
Cc: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
 drivers/net/wireless/ath/ath9k/rc.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
index 33bb33b..f1c1a93 100644
--- a/drivers/net/wireless/ath/ath9k/rc.c
+++ b/drivers/net/wireless/ath/ath9k/rc.c
@@ -1363,7 +1363,8 @@ static void ath_tx_status(void *priv, struct ieee80211_supported_band *sband,
 	/* Check if aggregation has to be enabled for this tid */
 	if (conf_is_ht(&sc->hw->conf) &&
 	    !(skb->protocol == cpu_to_be16(ETH_P_PAE))) {
-		if (ieee80211_is_data_qos(fc)) {
+		if (ieee80211_is_data_qos(fc) &&
+		    (ieee802_1d_to_ac[skb->priority] != IEEE80211_AC_VO)) {
 			u8 *qc, tid;
 			struct ath_node *an;
 
-- 
1.7.3.2.90.gd4c43


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

* [PATCH 3/3] mac80211: avoid aggregation for VO traffic
  2010-11-23  1:23 [PATCH 1/3] mac80211: make ieee802_1d_to_ac avilable to drivers Luis R. Rodriguez
  2010-11-23  1:23 ` [PATCH 2/3] ath9k: avoid aggregation for VO traffic Luis R. Rodriguez
@ 2010-11-23  1:23 ` Luis R. Rodriguez
  2010-11-23  3:01 ` [PATCH 1/3] mac80211: make ieee802_1d_to_ac avilable to drivers Johannes Berg
  2 siblings, 0 replies; 9+ messages in thread
From: Luis R. Rodriguez @ 2010-11-23  1:23 UTC (permalink / raw)
  To: johannes
  Cc: linux-wireless, Luis R. Rodriguez, Felix Fietkau, Matt Smith,
	Senthil Balasubramanian

This should help with latency issues which can happen when
using aggregation.

Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Matt Smith <matt.smith@atheros.com>
Cc: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
 net/mac80211/rc80211_minstrel_ht.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
index 2d6f025..84b13b0 100644
--- a/net/mac80211/rc80211_minstrel_ht.c
+++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -371,6 +371,9 @@ minstrel_aggr_check(struct minstrel_priv *mp, struct ieee80211_sta *pubsta, stru
 	if (likely(sta->ampdu_mlme.tid_tx[tid]))
 		return;
 
+	if (ieee802_1d_to_ac[skb->priority] == IEEE80211_AC_VO)
+		return;
+
 	ieee80211_start_tx_ba_session(pubsta, tid);
 }
 
-- 
1.7.3.2.90.gd4c43


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

* Re: [PATCH 1/3] mac80211: make ieee802_1d_to_ac avilable to drivers
  2010-11-23  1:23 [PATCH 1/3] mac80211: make ieee802_1d_to_ac avilable to drivers Luis R. Rodriguez
  2010-11-23  1:23 ` [PATCH 2/3] ath9k: avoid aggregation for VO traffic Luis R. Rodriguez
  2010-11-23  1:23 ` [PATCH 3/3] mac80211: " Luis R. Rodriguez
@ 2010-11-23  3:01 ` Johannes Berg
  2 siblings, 0 replies; 9+ messages in thread
From: Johannes Berg @ 2010-11-23  3:01 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless

> +++ b/include/net/mac80211.h

> +static const int ieee802_1d_to_ac[8] = {

this will duplicate the table in every file including the header, and sparse might warn, are you sure that's a good plan?

Johannes

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

* Re: [PATCH 2/3] ath9k: avoid aggregation for VO traffic
  2010-11-23  1:23 ` [PATCH 2/3] ath9k: avoid aggregation for VO traffic Luis R. Rodriguez
@ 2010-11-23  3:02   ` Johannes Berg
  2010-11-23  6:00     ` Johannes Berg
  2010-11-23 12:14   ` Björn Smedman
  1 sibling, 1 reply; 9+ messages in thread
From: Johannes Berg @ 2010-11-23  3:02 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless, Matt Smith, Senthil Balasubramanian

> -        if (ieee80211_is_data_qos(fc)) {
> +        if (ieee80211_is_data_qos(fc) &&
> +               (ieee802_1d_to_ac[skb->priority] != IEEE80211_AC_VO)) {

Isn't skb queue mapping set up already so you could use that?

Johannes

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

* Re: [PATCH 2/3] ath9k: avoid aggregation for VO traffic
  2010-11-23  3:02   ` Johannes Berg
@ 2010-11-23  6:00     ` Johannes Berg
  0 siblings, 0 replies; 9+ messages in thread
From: Johannes Berg @ 2010-11-23  6:00 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless, Matt Smith, Senthil Balasubramanian

On Tue, 2010-11-23 at 04:02 +0100, Johannes Berg wrote:
> > -        if (ieee80211_is_data_qos(fc)) {
> > +        if (ieee80211_is_data_qos(fc) &&
> > +               (ieee802_1d_to_ac[skb->priority] != IEEE80211_AC_VO)) {
> 
> Isn't skb queue mapping set up already so you could use that?

It must be set up, so you should use that, compare it to AC_VO, and drop
patch 1.

johannes


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

* Re: [PATCH 2/3] ath9k: avoid aggregation for VO traffic
  2010-11-23  1:23 ` [PATCH 2/3] ath9k: avoid aggregation for VO traffic Luis R. Rodriguez
  2010-11-23  3:02   ` Johannes Berg
@ 2010-11-23 12:14   ` Björn Smedman
  2010-11-23 12:56     ` Felix Fietkau
  1 sibling, 1 reply; 9+ messages in thread
From: Björn Smedman @ 2010-11-23 12:14 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: johannes, linux-wireless, Matt Smith, Senthil Balasubramanian

On Tue, Nov 23, 2010 at 2:23 AM, Luis R. Rodriguez
<lrodriguez@atheros.com> wrote:
> This should help with latency issues which can happen when
> using aggregation.

Wouldn't it be better to fix the TXOP limit handling in
ath_lookup_rate() instead?

>From xmit.c:

        /*
         * Find the lowest frame length among the rate series that will have a
         * 4ms transmit duration.
         * TODO - TXOP limit needs to be considered.
         */
        max_4ms_framelen = ATH_AMPDU_LIMIT_MAX;

/Björn

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

* Re: [PATCH 2/3] ath9k: avoid aggregation for VO traffic
  2010-11-23 12:14   ` Björn Smedman
@ 2010-11-23 12:56     ` Felix Fietkau
  2010-11-23 13:40       ` Björn Smedman
  0 siblings, 1 reply; 9+ messages in thread
From: Felix Fietkau @ 2010-11-23 12:56 UTC (permalink / raw)
  To: Björn Smedman
  Cc: Luis R. Rodriguez, johannes, linux-wireless, Matt Smith,
	Senthil Balasubramanian

On 2010-11-23 1:14 PM, Björn Smedman wrote:
> On Tue, Nov 23, 2010 at 2:23 AM, Luis R. Rodriguez
> <lrodriguez@atheros.com> wrote:
>> This should help with latency issues which can happen when
>> using aggregation.
> 
> Wouldn't it be better to fix the TXOP limit handling in
> ath_lookup_rate() instead?
That wouldn't help with latency caused by receiver-side reordering.

- Felix

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

* Re: [PATCH 2/3] ath9k: avoid aggregation for VO traffic
  2010-11-23 12:56     ` Felix Fietkau
@ 2010-11-23 13:40       ` Björn Smedman
  0 siblings, 0 replies; 9+ messages in thread
From: Björn Smedman @ 2010-11-23 13:40 UTC (permalink / raw)
  To: Felix Fietkau
  Cc: Luis R. Rodriguez, johannes, linux-wireless, Matt Smith,
	Senthil Balasubramanian

2010/11/23 Felix Fietkau <nbd@openwrt.org>:
> On 2010-11-23 1:14 PM, Björn Smedman wrote:
>> On Tue, Nov 23, 2010 at 2:23 AM, Luis R. Rodriguez
>> <lrodriguez@atheros.com> wrote:
>>> This should help with latency issues which can happen when
>>> using aggregation.
>>
>> Wouldn't it be better to fix the TXOP limit handling in
>> ath_lookup_rate() instead?
> That wouldn't help with latency caused by receiver-side reordering.

Aha, good reason. :)

/Björn

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

end of thread, other threads:[~2010-11-23 13:40 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-23  1:23 [PATCH 1/3] mac80211: make ieee802_1d_to_ac avilable to drivers Luis R. Rodriguez
2010-11-23  1:23 ` [PATCH 2/3] ath9k: avoid aggregation for VO traffic Luis R. Rodriguez
2010-11-23  3:02   ` Johannes Berg
2010-11-23  6:00     ` Johannes Berg
2010-11-23 12:14   ` Björn Smedman
2010-11-23 12:56     ` Felix Fietkau
2010-11-23 13:40       ` Björn Smedman
2010-11-23  1:23 ` [PATCH 3/3] mac80211: " Luis R. Rodriguez
2010-11-23  3:01 ` [PATCH 1/3] mac80211: make ieee802_1d_to_ac avilable to drivers Johannes Berg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.