From: vthiagar@codeaurora.org
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org
Subject: Re: [RFC 1/4] mac80211: Add NoAck policy functionality offload infrastructure
Date: Wed, 28 Mar 2018 11:05:33 +0530 [thread overview]
Message-ID: <5b341b2146fa9e0cf79fd9a6774a871f@codeaurora.org> (raw)
In-Reply-To: <1522155185.3050.7.camel@sipsolutions.net>
On 2018-03-27 18:23, Johannes Berg wrote:
> On Tue, 2018-03-27 at 14:12 +0530, Vasanthakumar Thiagarajan wrote:
>>
>> + * @IEEE80211_HW_SUPPORTS_NOACK_POLICY: Hardware (or driver) manages
>> noack
>> + * policy handling. Hardware (or driver) takes care of setting
>> + * noack policy in the qos header and does not wait for the ack based
>> + * on the noack TID map. Driver advertising this support must
>> implement
>> + * callback @set_noack_tid_bitmap to receive the user configured
>> noack TID
>> + * bitmap.
>
> Do you really need the ops method and the flag?
Ath10k would send NoAck policy configuration on control path
configuration.
It seems a new ops might be appropriate. Perhaps the ops alone is
sufficient
to know the capability?
>
>> + int (*set_noack_tid_bitmap)(struct ieee80211_hw *hw,
>> + struct ieee80211_vif *vif, u8 noack_map);
>
> You'd safe some effort by reordering the nl80211 patch first, so you
> can
> immediately introduce it with per-peer capability here.
Sure.
>
>> +++ b/net/mac80211/cfg.c
>> @@ -347,9 +347,15 @@ static int ieee80211_set_noack_map(struct wiphy
>> *wiphy,
>>
>> sdata->noack_map = noack_map;
>>
>> - ieee80211_check_fast_xmit_iface(sdata);
>> + if (!ieee80211_hw_check(&sdata->local->hw, SUPPORTS_NOACK_POLICY)) {
>> + ieee80211_check_fast_xmit_iface(sdata);
>> + return 0;
>> + }
>>
>> - return 0;
>> + if (!ieee80211_sdata_running(sdata))
>> + return 0;
>> +
>> + return drv_set_noack_tid_bitmap(sdata->local, sdata, noack_map);
>
> This doesn't seem right - you should do the fast xmit checks even if
> calling the driver, no? And in fact, fast xmit should be permitted when
> the noack is offloaded, so you shouldn't set sdata->noack_map in the
> offloaded case at all.
>
>> --- a/net/mac80211/iface.c
>> +++ b/net/mac80211/iface.c
>> @@ -631,6 +631,10 @@ int ieee80211_do_open(struct wireless_dev *wdev,
>> bool coming_up)
>> ieee80211_vif_type_p2p(&sdata->vif));
>> if (res)
>> goto err_del_interface;
>> +
>> + if (sdata->noack_map)
>> + drv_set_noack_tid_bitmap(local, sdata,
>> + sdata->noack_map);
>
> Or maybe you do need to store it for this reason, but need to ignore it
> for the purposes of fast-xmit if SUPPORTS_NOACK_POLICY is set.
>
>> +++ b/net/mac80211/tx.c
>> @@ -2817,7 +2817,8 @@ void ieee80211_check_fast_xmit(struct sta_info
>> *sta)
>> test_sta_flag(sta, WLAN_STA_CLEAR_PS_FILT))
>> goto out;
>>
>> - if (sdata->noack_map)
>> + if (sdata->noack_map &&
>> + !ieee80211_hw_check(&local->hw, SUPPORTS_NOACK_POLICY))
>> goto out;
>
> Ah, and you do :-)
>
> And then maybe you're indeed right and don't need to call the fast xmit
> check in that place since it wouldn't have any effect either way.
Right.
Vasanth
next prev parent reply other threads:[~2018-03-28 5:35 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-27 8:42 [RFC 0/4] wireless: Per-sta NoAck and offload support Vasanthakumar Thiagarajan
2018-03-27 8:42 ` [RFC 1/4] mac80211: Add NoAck policy functionality offload infrastructure Vasanthakumar Thiagarajan
2018-03-27 12:53 ` Johannes Berg
2018-03-28 5:35 ` vthiagar [this message]
2018-03-27 8:42 ` [RFC 2/4] nl80211/mac80211: Extend NoAck policy command with peer MAC address Vasanthakumar Thiagarajan
2018-03-27 12:47 ` Johannes Berg
2018-03-28 4:54 ` vthiagar
2018-03-28 8:06 ` Johannes Berg
2018-03-28 8:50 ` vthiagar
2018-03-28 8:52 ` Johannes Berg
2018-03-27 8:42 ` [RFC 3/4] mac80211: Apply per-peer NoAck tid bitmap configuration Vasanthakumar Thiagarajan
2018-03-27 12:54 ` Johannes Berg
2018-03-28 5:43 ` vthiagar
2018-03-28 8:04 ` Johannes Berg
2018-03-29 5:31 ` vthiagar
2018-03-27 8:42 ` [RFC 4/4] mac80211: Advertise per-peer NoAck policy support Vasanthakumar Thiagarajan
2018-03-27 16:48 ` [RFC 0/4] wireless: Per-sta NoAck and offload support Steve deRosier
2018-03-28 6:09 ` vthiagar
2018-03-28 7:37 ` Arend van Spriel
2018-03-28 7:59 ` vthiagar
2018-03-28 8:03 ` Johannes Berg
2018-03-28 15:12 ` Steve deRosier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5b341b2146fa9e0cf79fd9a6774a871f@codeaurora.org \
--to=vthiagar@codeaurora.org \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.