2012-05-25 15:37:13

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: [RFC] mac80211: net_ratelimit few aggregation related messages

From: Mohammed Shafi Shajakhan <[email protected]>

net_ratelimit few aggregation related messages, these messages
floods the log when aggregation is disabled for some wifi
test cases in the AP side. mac80211 gives up after 15 addba
requests, but ieee80211_start_tx_ba_session will be
repeatedly called by drivers rate control tx_status callback

Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
---
net/mac80211/agg-tx.c | 21 ++++++++++++---------
1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
index 7cf0715..d9fb5ef 100644
--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -464,8 +464,9 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
return -EINVAL;

#ifdef CONFIG_MAC80211_HT_DEBUG
- printk(KERN_DEBUG "Open BA session requested for %pM tid %u\n",
- pubsta->addr, tid);
+ if (net_ratelimit())
+ printk(KERN_DEBUG "Open BA session requested for %pM tid %u\n",
+ pubsta->addr, tid);
#endif /* CONFIG_MAC80211_HT_DEBUG */

if (sdata->vif.type != NL80211_IFTYPE_STATION &&
@@ -506,8 +507,10 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,

spin_lock_bh(&sta->lock);

- /* we have tried too many times, receiver does not want A-MPDU */
if (sta->ampdu_mlme.addba_req_num[tid] > HT_AGG_MAX_RETRIES) {
+ if (net_ratelimit())
+ printk(KERN_DEBUG "receiver does not wants A-MPDU, maximum addba requests tried for tid %u",
+ tid);
ret = -EBUSY;
goto err_unlock_sta;
}
@@ -521,10 +524,9 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
time_before(jiffies, sta->ampdu_mlme.last_addba_req_time[tid] +
HT_AGG_RETRIES_PERIOD)) {
#ifdef CONFIG_MAC80211_HT_DEBUG
- printk(KERN_DEBUG "BA request denied - "
- "waiting a grace period after %d failed requests "
- "on tid %u\n",
- sta->ampdu_mlme.addba_req_num[tid], tid);
+ if (net_ratelimit())
+ printk(KERN_DEBUG "BA request denied waiting a grace period after %d failed requests on tid %u\n",
+ sta->ampdu_mlme.addba_req_num[tid], tid);
#endif /* CONFIG_MAC80211_HT_DEBUG */
ret = -EBUSY;
goto err_unlock_sta;
@@ -534,8 +536,9 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
/* check if the TID is not in aggregation flow already */
if (tid_tx || sta->ampdu_mlme.tid_start_tx[tid]) {
#ifdef CONFIG_MAC80211_HT_DEBUG
- printk(KERN_DEBUG "BA request denied - session is not "
- "idle on tid %u\n", tid);
+ if (net_ratelimit())
+ printk(KERN_DEBUG "BA request denied - session is not idle on tid %u\n",
+ tid);
#endif /* CONFIG_MAC80211_HT_DEBUG */
ret = -EAGAIN;
goto err_unlock_sta;
--
1.7.0.4



2012-05-28 06:26:55

by Joe Perches

[permalink] [raw]
Subject: Re: [RFC] mac80211: net_ratelimit few aggregation related messages

On Mon, 2012-05-28 at 11:45 +0530, Mohammed Shafi Shajakhan wrote:
> just today saw this link where you had introduced net_dbg_ratelimited
> http://www.digipedia.pl/usenet/thread/18978/31017/
> so should i send the v2 patch using net_dbg_ratelimited to net-next
> rather than wireless-testing tree ?

Yes, but you should wait until net-next opens
for patches (after Linus' -rc1 is released)



2012-05-25 20:02:47

by Joe Perches

[permalink] [raw]
Subject: Re: [RFC] mac80211: net_ratelimit few aggregation related messages

On Fri, 2012-05-25 at 21:07 +0530, Mohammed Shafi Shajakhan wrote:
> net_ratelimit few aggregation related messages,
[]
> diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
[]
> @@ -464,8 +464,9 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
> return -EINVAL;
>
> #ifdef CONFIG_MAC80211_HT_DEBUG
> - printk(KERN_DEBUG "Open BA session requested for %pM tid %u\n",
> - pubsta->addr, tid);
> + if (net_ratelimit())
> + printk(KERN_DEBUG "Open BA session requested for %pM tid %u\n",
> + pubsta->addr, tid);

perhaps
net_dbg_ratelimited(...)

etc...


2012-05-28 06:15:50

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: Re: [RFC] mac80211: net_ratelimit few aggregation related messages

Hi Joe,

On Saturday 26 May 2012 01:32 AM, Joe Perches wrote:
> On Fri, 2012-05-25 at 21:07 +0530, Mohammed Shafi Shajakhan wrote:
>> net_ratelimit few aggregation related messages,
> []
>> diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
> []
>> @@ -464,8 +464,9 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
>> return -EINVAL;
>>
>> #ifdef CONFIG_MAC80211_HT_DEBUG
>> - printk(KERN_DEBUG "Open BA session requested for %pM tid %u\n",
>> - pubsta->addr, tid);
>> + if (net_ratelimit())
>> + printk(KERN_DEBUG "Open BA session requested for %pM tid %u\n",
>> + pubsta->addr, tid);
>
> perhaps
> net_dbg_ratelimited(...)
>
> etc...
>

thanks for your inputs!
just today saw this link where you had introduced net_dbg_ratelimited
http://www.digipedia.pl/usenet/thread/18978/31017/
so should i send the v2 patch using net_dbg_ratelimited to net-next
rather than wireless-testing tree ?

--
thanks,
shafi

2012-05-28 06:44:00

by Joe Perches

[permalink] [raw]
Subject: Re: [RFC] mac80211: net_ratelimit few aggregation related messages

On Mon, 2012-05-28 at 12:01 +0530, Mohammed Shafi Shajakhan wrote:
> On Monday 28 May 2012 11:56 AM, Joe Perches wrote:
> > On Mon, 2012-05-28 at 11:45 +0530, Mohammed Shafi Shajakhan wrote:
> >> just today saw this link where you had introduced net_dbg_ratelimited
> >> http://www.digipedia.pl/usenet/thread/18978/31017/
> >> so should i send the v2 patch using net_dbg_ratelimited to net-next
> >> rather than wireless-testing tree ?
> >
> > Yes, but you should wait until net-next opens
> > for patches (after Linus' -rc1 is released)
> Joe, once Linus release rc1, will your changes will be updated in
> wireless-testing ,

I presume so, the patch is in Linus' tree for 3.4.

> so that i can send a patch directly to John/linux
> wireless ? thank you.

I guess you'll have to wait for John to merge Linus' tree.


2012-05-28 06:32:17

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: Re: [RFC] mac80211: net_ratelimit few aggregation related messages

On Monday 28 May 2012 11:56 AM, Joe Perches wrote:
> On Mon, 2012-05-28 at 11:45 +0530, Mohammed Shafi Shajakhan wrote:
>> just today saw this link where you had introduced net_dbg_ratelimited
>> http://www.digipedia.pl/usenet/thread/18978/31017/
>> so should i send the v2 patch using net_dbg_ratelimited to net-next
>> rather than wireless-testing tree ?
>
> Yes, but you should wait until net-next opens
> for patches (after Linus' -rc1 is released)
>
>

Joe, once Linus release rc1, will your changes will be updated in
wireless-testing , so that i can send a patch directly to John/linux
wireless ? thank you.

--
thanks,
shafi

2012-05-28 06:51:18

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: Re: [RFC] mac80211: net_ratelimit few aggregation related messages

On Monday 28 May 2012 12:13 PM, Joe Perches wrote:
> On Mon, 2012-05-28 at 12:01 +0530, Mohammed Shafi Shajakhan wrote:
>> On Monday 28 May 2012 11:56 AM, Joe Perches wrote:
>>> On Mon, 2012-05-28 at 11:45 +0530, Mohammed Shafi Shajakhan wrote:
>>>> just today saw this link where you had introduced net_dbg_ratelimited
>>>> http://www.digipedia.pl/usenet/thread/18978/31017/
>>>> so should i send the v2 patch using net_dbg_ratelimited to net-next
>>>> rather than wireless-testing tree ?
>>>
>>> Yes, but you should wait until net-next opens
>>> for patches (after Linus' -rc1 is released)
>> Joe, once Linus release rc1, will your changes will be updated in
>> wireless-testing ,
>
> I presume so, the patch is in Linus' tree for 3.4.
>
>> so that i can send a patch directly to John/linux
>> wireless ? thank you.
>
> I guess you'll have to wait for John to merge Linus' tree.
>

sure, thanks!

--
thanks,
shafi