Re: [PATCH 3/4] mac80211: fix low throughput in push pull mode

2019-09-16 Thread Johannes Berg
On Tue, 2019-09-17 at 14:36 +0800, Yibo Zhao wrote: > > Do you mean it should be something like: > > Co-developed-by: Toke Høiland-Jørgensen > Signed-off-by: Yibo Zhao > Signed-off-by: Toke Høiland-Jørgensen Yes, I think you mean the right thing. For the record, it seems to me it should be F

Re: [PATCH] ath10k: restore QCA9880-AR1A (v1) detection

2019-09-16 Thread Kalle Valo
Christian Lamparter wrote: > This patch restores the old behavior that read > the chip_id on the QCA988x before resetting the > chip. This needs to be done in this order since > the unsupported QCA988x AR1A chips fall off the > bus when resetted. Otherwise the next MMIO Op > after the reset cause

Re: [PATCH] ath10k: restore QCA9880-AR1A (v1) detection

2019-09-16 Thread Kalle Valo
Christian Lamparter wrote: > This patch restores the old behavior that read > the chip_id on the QCA988x before resetting the > chip. This needs to be done in this order since > the unsupported QCA988x AR1A chips fall off the > bus when resetted. Otherwise the next MMIO Op > after the reset cause

Re: [PATCH 3/4] mac80211: fix low throughput in push pull mode

2019-09-16 Thread Yibo Zhao
On 2019-09-16 23:27, Johannes Berg wrote: Without really looking at the code - If station is ineligible for transmission in ieee80211_txq_may_transmit(), no packet will be delivered to FW. During the tests in push-pull mode with many clients, after several seconds, not a single station is an

Re: [PATCH] ath10k: Check if station exists before forwarding tx airtime report

2019-09-16 Thread Kalle Valo
Hauke Mehrtens writes: > On 8/18/19 9:09 PM, Hauke Mehrtens wrote: >> It looks like the FW on QCA9984 already reports the tx airtimes before >> the station is added to the peer entry. The peer entry is created in >> ath10k_peer_map_event() just with the vdev_id and the ethaddr, but >> not with a

Re: [PATCH] ath10k: Check if station exists before forwarding tx airtime report

2019-09-16 Thread Hauke Mehrtens
On 8/18/19 9:09 PM, Hauke Mehrtens wrote: > It looks like the FW on QCA9984 already reports the tx airtimes before > the station is added to the peer entry. The peer entry is created in > ath10k_peer_map_event() just with the vdev_id and the ethaddr, but > not with a station entry, this is added la

Re: [PATCH 3/4] mac80211: fix low throughput in push pull mode

2019-09-16 Thread Johannes Berg
Without really looking at the code - > If station is ineligible for transmission in ieee80211_txq_may_transmit(), > no packet will be delivered to FW. During the tests in push-pull mode with > many clients, after several seconds, not a single station is an eligible > candidate for transmission si

[PATCH 4/4] mac80211: Sync airtime weight sum with per AC synced sta airtime weight together

2019-09-16 Thread Yibo Zhao
Global airtime weight sum is updated only when txq is added/removed from rbtree. If upper layer configures sta weight during high load, airtime weight sum will not be updated since txq is most likely on the tree. It could a little late for upper layer to reconfigure sta weight when txq is already i

[PATCH 3/4] mac80211: fix low throughput in push pull mode

2019-09-16 Thread Yibo Zhao
If station is ineligible for transmission in ieee80211_txq_may_transmit(), no packet will be delivered to FW. During the tests in push-pull mode with many clients, after several seconds, not a single station is an eligible candidate for transmission since global time is smaller than all the station

[PATCH 2/4] mac80211: defer txqs removal from rbtree

2019-09-16 Thread Yibo Zhao
In a loop txqs dequeue scenario, if the first txq in the rbtree gets removed from rbtree immediately in the ieee80211_return_txq(), the loop will break soon in the ieee80211_next_txq() due to schedule_pos not leading to the second txq in the rbtree. Thus, defering the removal right before the end o

[PATCH 1/4] mac80211: Switch to a virtual time-based airtime scheduler

2019-09-16 Thread Yibo Zhao
From: Toke Høiland-Jørgensen This switches the airtime scheduler in mac80211 to use a virtual time-based scheduler instead of the round-robin scheduler used before. This has a couple of advantages: - No need to sync up the round-robin scheduler in firmware/hardware with the round-robin airtime