[PATCH v2 0/6] Move TXQ scheduling and airtime fairness into mac80211

2018-11-09 Thread Rajkumar Manoharan
From: Rajkumar Manoharan Here is the consolidated series of mac80211, ath9k and ath10k changes for moving TXQ scheduling and airtime fairness into mac80211 and support airtime fairness. Three main APIs are defined for TXQ scheduling. - ieee80211_next_txq - ieee80211_return_txq -

[PATCH v2 4/6] ath9k: Switch to mac80211 TXQ scheduling and airtime APIs

2018-11-09 Thread Rajkumar Manoharan
From: Toke Høiland-Jørgensen This moves the ath9k driver to use the mac80211 TXQ scheduling and airtime accounting APIs, removing the corresponding state tracking inside the driver. Signed-off-by: Toke Høiland-Jørgensen --- drivers/net/wireless/ath/ath9k/ath9k.h | 14 --

[PATCH v2 2/6] cfg80211: Add airtime statistics and settings

2018-11-09 Thread Rajkumar Manoharan
From: Toke Høiland-Jørgensen This adds TX airtime statistics to the cfg80211 station dump (to go along with the RX info already present), and adds a new parameter to set the airtime weight of each station. The latter allows userspace to implement policies for different stations by varying their

[PATCH v2 3/6] mac80211: Add airtime accounting and scheduling to TXQs

2018-11-09 Thread Rajkumar Manoharan
From: Toke Høiland-Jørgensen This adds airtime accounting and scheduling to the mac80211 TXQ scheduler. A new callback, ieee80211_sta_register_airtime(), is added that drivers can call to report airtime usage for stations. When airtime information is present, mac80211 will schedule TXQs

[PATCH v2 5/6] ath10k: migrate to mac80211 txq scheduling

2018-11-09 Thread Rajkumar Manoharan
From: Toke Høiland-Jørgensen ath10k maintains common txqs list for all stations. This txq management can be removed by migrating to mac80211 txq APIs and let mac80211 handle txqs reordering based on reported airtime. By doing this, txq fairness maintained in ath10k i.e processing N frames per

[PATCH v2 6/6] ath10k: reporting estimated tx airtime for fairness

2018-11-09 Thread Rajkumar Manoharan
From: Kan Yan Transmit airtime will be estimated from last tx rate used. Firmware report tx rate by peer stats. Airtime is computed on tx path and the same will be reported to mac80211 upon tx completion. This change is based on Kan's orginal commit in Chromium tree ("CHROMIUM: ath10k:

[PATCH v2 0/6] Move TXQ scheduling and airtime fairness into mac80211

2018-11-09 Thread Rajkumar Manoharan
Here is the consolidated series of mac80211, ath9k and ath10k changes for moving TXQ scheduling and airtime fairness into mac80211 and support airtime fairness. Three main APIs are defined for TXQ scheduling. - ieee80211_next_txq - ieee80211_return_txq - ieee80211_txq_may_transmit and two

[PATCH v2 1/6] mac80211: Add TXQ scheduling API

2018-11-09 Thread Rajkumar Manoharan
From: Toke Høiland-Jørgensen This adds an API to mac80211 to handle scheduling of TXQs. The interface between driver and mac80211 for TXQ handling is changed by adding two new functions: ieee80211_next_txq(), which will return the next TXQ to schedule in the current round-robin rotation, and

Re: [PATCH 1/6] mac80211: Add TXQ scheduling API

2018-11-09 Thread Toke Høiland-Jørgensen
On 9 November 2018 13:00:04 CET, Johannes Berg wrote: >On Sat, 2018-10-20 at 04:05 -0700, Rajkumar Manoharan wrote: >> >> + * @txq: pointer obtained from station or virtual interface, or from >> + * ieee80211_next_txq() > >nit: please just indent by a single tab for continuation,

Re: [PATCH 1/4] New netlink command for TID specific configuration

2018-11-09 Thread Johannes Berg
On Fri, 2018-11-09 at 09:40 +, Sergey Matyukevich wrote: > > Ok. So if driver receives retry value (-1), it should reset to some > default value known to driver or firmware. IMHO it worth making it > more explicit: in its current form this convention will not be obvious > for driver authors.

Re: [PATCH 1/6] mac80211: Add TXQ scheduling API

2018-11-09 Thread Johannes Berg
On Sat, 2018-10-20 at 04:05 -0700, Rajkumar Manoharan wrote: > > + * @txq: pointer obtained from station or virtual interface, or from > + * ieee80211_next_txq() nit: please just indent by a single tab for continuation, trying to line it all up doesn't really make it more readable I see

Re: [PATCH 1/4] New netlink command for TID specific configuration

2018-11-09 Thread Johannes Berg
On Mon, 2018-10-22 at 23:25 +0530, Tamizh chelvam wrote: > > +/* > + * @NL80211_ATTR_TID: a TID value (u8 attribute) This comment should have the kernel-doc boilerplate Also, the names should be NL80211_TID_ATTR_* to disambiguate the namespace from the top-level NL80211_ATTR_*. > +static const

Re: [PATCH 0/6] wireless: Per-sta NoAck and offload support

2018-11-09 Thread Johannes Berg
Hi, > Adds infrastructure for driver to offload NoAck functionality, > driver like ath10k could make use of it. Also extends the > current ndev wide NoAck policy to per-station, with sta level > NoAck policy configuration userspace could selectively turn off/on > Noack based on various connection

Re: [PATCH 1/4] New netlink command for TID specific configuration

2018-11-09 Thread Sergey Matyukevich
Hello Tamizh, > > > Co-Developed-by: Tamizh Chelvam > > > Signed-off-by: Vasanthakumar Thiagarajan > > > Signed-off-by: Tamizh chelvam > > > --- > > > include/net/cfg80211.h | 14 +++ > > > include/uapi/linux/nl80211.h | 69 + > > >

Re: [PATCH 1/4] New netlink command for TID specific configuration

2018-11-09 Thread Sergey Matyukevich
Hello Tamizh, ... > > > +static int nl80211_set_tid_config(struct sk_buff *skb, > > > + struct genl_info *info) > > > +{ > > > + struct cfg80211_registered_device *rdev = info->user_ptr[0]; > > > + struct nlattr *attrs[NL80211_ATTR_TID_MAX + 1]; > > >

Re: [PATCH 4/4] ath10k: Add support to configure TID specific configuration

2018-11-09 Thread Sergey Matyukevich
Hello Tamizh, > Signed-off-by: Tamizh chelvam > --- > drivers/net/wireless/ath/ath10k/core.h | 23 > drivers/net/wireless/ath/ath10k/mac.c | 240 > + > drivers/net/wireless/ath/ath10k/wmi.c | 6 +- > drivers/net/wireless/ath/ath10k/wmi.h | 1 + >

[PATCH] ath10k: Fix kernel panic due to use after free

2018-11-09 Thread Karthikeyan Periyasamy
This issue arise in a race condition between ath10k_sta_state() and ath10k_htt_fetch_peer_stats(), explained in below scenario Steps: 1. In ath10k_sta_state(), arsta->tx_stats get deallocated before peer deletion when the station moves from IEEE80211_STA_NONE to IEEE80211_STA_NOTEXIST