* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox