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 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).