[PATCH] ath10k: fix not registering airtime of 11a station with WMM disable

2020-02-19 Thread Yibo Zhao
ed in debugfs system. Mask the tid along with IEEE80211_QOS_CTL_TID_MASK to make it in the valid range. Hardwares tested : QCA9984 Firmwares tested : 10.4-3.10-00047 Signed-off-by: Yibo Zhao --- drivers/net/wireless/ath/ath10k/htt_rx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --

[PATCH] Allow qca988x family to support ack rssi of tx data packets.

2020-02-12 Thread Yibo Zhao
Hardwares tested : QCA9887 Firmwares tested : 10.4-3.9.0.1-00036 Signed-off-by: Yibo Zhao --- drivers/net/wireless/ath/ath10k/hw.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/ath/ath10k/hw.c b/drivers/net/wireless/ath/ath10k/hw.c index 2451e0f..57c58af 100644 --- a

[PATCH 2/4] mac80211: fix issue in loop scenario

2019-12-12 Thread Yibo Zhao
the node of schedule_pos is either removed from rbtree or move to other location in rbtree due to airtime update. Signed-off-by: Yibo Zhao --- net/mac80211/ieee80211_i.h | 2 ++ net/mac80211/tx.c | 14 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/net

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

2019-12-12 Thread Yibo Zhao
eight synced with per AC synced weight sum together. And the per-AC station airtime weight is used to calculate weight sum. Signed-off-by: Yibo Zhao --- net/mac80211/cfg.c | 29 ++--- net/mac80211/debugfs_sta.c | 2 +- net/mac80211/sta_info.c| 9 - net/mac

[PATCH V4 0/4] Enable virtual time-based airtime scheduler support on ath10k

2019-12-12 Thread Yibo Zhao
-developed-by and Toke's sign-off as Toke suggested Changes since v1: Modify the author of Co-developed-by as Johannes suggested Toke Høiland-Jørgensen (1): mac80211: Switch to a virtual time-based airtime scheduler Yibo Zhao (3): mac80211: fix issue in loop scenario mac80211: fi

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

2019-12-12 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

[PATCH 3/4] mac80211: fix low throughput in multi-clients situation

2019-12-12 Thread Yibo Zhao
in the red-black tree - Round the division result Signed-off-by: Yibo Zhao --- net/mac80211/sta_info.c | 3 ++- net/mac80211/tx.c | 16 +++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index 9d01fdd..feac975

Re: [PATCH V3 0/4] Enable virtual time-based airtime scheduler support on ath10k

2019-10-01 Thread Yibo Zhao
On 2019-10-01 18:19, Johannes Berg wrote: On Mon, 2019-09-23 at 15:19 +0800, Yibo Zhao wrote: This series fix some issues when enabling virtual time-based airtime scheduler on ath10k. Given the lengthy discussion here and also over in the related thread about AQL, I'm assuming you

Re: [PATCH V3 3/4] mac80211: fix low throughput in multi-clients situation

2019-09-24 Thread Yibo Zhao
On 2019-09-24 16:48, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: I can see why we need the second part (basically, this happens because I forgot to add a check for "no eligible stations" in may_transmit(), like the one in next_txq()). And rounding up the division result doesn

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

2019-09-24 Thread Yibo Zhao
On 2019-09-24 15:26, Toke Høiland-Jørgensen wrote: Hmm, yeah, I guess we could end up with a loop like that as well. Keeping the schedule_round would be a way to fix it, but I'm not sure we should just skip that station; maybe we should just end the round instead? I am not sure. I believe, in so

Re: [PATCH V3 3/4] mac80211: fix low throughput in multi-clients situation

2019-09-24 Thread Yibo Zhao
On 2019-09-23 18:55, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: Not long after the start of multi-clients test, not a single station is an eligible candidate for transmission since global virtual time(g_vt) is smaller than the virtual airtime(s_vt) of all the stations. As a result

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

2019-09-23 Thread Yibo Zhao
On 2019-09-23 19:00, Toke Høiland-Jørgensen wrote: - if (params->airtime_weight) - sta->airtime_weight = params->airtime_weight; + if (params->airtime_weight && + params->airtime_weight != sta->airtime_weight) { This check doesn't work I think? You're not us

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

2019-09-23 Thread Yibo Zhao
On 2019-09-23 18:56, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: 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

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

2019-09-23 Thread Yibo Zhao
On 2019-09-23 18:47, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: So, instead we need to keep next_txq() the way it is, and just add Right, should keep next_txq() the way it is. local->schedule_pos[ac] = rb_prev(node); whenever we remove a node (both in return_txq() and resort_

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

2019-09-23 Thread Yibo Zhao
eight synced with per AC synced weight sum together. And the per-AC station airtime weight is used to calculate weight sum. Signed-off-by: Yibo Zhao --- net/mac80211/cfg.c | 29 ++--- net/mac80211/debugfs_sta.c | 2 +- net/mac80211/sta_info.c| 9 - net/mac

[PATCH V3 3/4] mac80211: fix low throughput in multi-clients situation

2019-09-23 Thread Yibo Zhao
the airtime grace period a little more to reduce the unexpected sync - If global virtual time is less than the virtual airtime of any station, sync it to the airtime of first station in the red-black tree - Round the division result Signed-off-by: Yibo Zhao --- net/mac80211/sta_info.c | 3

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

2019-09-23 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

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

2019-09-23 Thread Yibo Zhao
of this schedule round. Signed-off-by: Yibo Zhao --- include/net/mac80211.h | 16 ++-- net/mac80211/ieee80211_i.h | 3 +++ net/mac80211/main.c| 6 + net/mac80211/tx.c | 63 +++--- 4 files changed, 83 insertions(+), 5

[PATCH V3 0/4] Enable virtual time-based airtime scheduler support on ath10k

2019-09-23 Thread Yibo Zhao
of Co-developed-by as Johannes suggested Toke Høiland-Jørgensen (1): mac80211: Switch to a virtual time-based airtime scheduler Yibo Zhao (3): mac80211: defer txqs removal from rbtree mac80211: fix low throughput in multi-clients situation mac80211: Sync airtime weight sum with per AC synced sta ai

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

2019-09-21 Thread Yibo Zhao
On 2019-09-21 22:00, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-21 21:02, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-21 19:27, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-20 17:15, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On

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

2019-09-21 Thread Yibo Zhao
On 2019-09-21 21:02, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-21 19:27, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-20 17:15, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-19 18:37, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On

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

2019-09-21 Thread Yibo Zhao
On 2019-09-21 19:27, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-20 17:15, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-19 18:37, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-18 19:23, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On

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

2019-09-21 Thread Yibo Zhao
On 2019-09-21 19:27, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-20 17:15, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-19 18:37, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-18 19:23, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On

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

2019-09-21 Thread Yibo Zhao
On 2019-09-20 17:15, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-19 18:37, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-18 19:23, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-18 05:10, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: In a

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

2019-09-20 Thread Yibo Zhao
On 2019-09-18 05:31, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: 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

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

2019-09-20 Thread Yibo Zhao
On 2019-09-19 18:37, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-18 19:23, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-18 05:10, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: In a loop txqs dequeue scenario, if the first txq in the rbtree gets removed

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

2019-09-19 Thread Yibo Zhao
On 2019-09-18 19:23, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-18 05:10, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: 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

Re: [PATCH V2 3/4] mac80211: fix low throughput in multi-clients situation

2019-09-18 Thread Yibo Zhao
On 2019-09-18 17:59, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: Not long after the start of multi-clients test, not a single station is an eligible candidate for transmission since global virtual time(g_vt) is smaller than the virtual airtime(s_vt) of all the stations. As a result

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

2019-09-18 Thread Yibo Zhao
On 2019-09-18 05:10, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: 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

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

2019-09-18 Thread Yibo Zhao
On 2019-09-18 18:16, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-18 05:12, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: On 2019-09-16 23:27, Johannes Berg wrote: Without really looking at the code - If station is ineligible for transmission in

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

2019-09-18 Thread Yibo Zhao
On 2019-09-18 05:24, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: 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

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

2019-09-18 Thread Yibo Zhao
On 2019-09-18 05:12, Toke Høiland-Jørgensen wrote: Yibo Zhao writes: 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

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

2019-09-18 Thread Yibo Zhao
eight synced with per AC synced weight sum together. And the per-AC station airtime weight is used to calculate weight sum. Signed-off-by: Yibo Zhao --- net/mac80211/cfg.c | 27 +-- net/mac80211/sta_info.c | 6 -- net/mac80211/sta_info.h | 3 +++ net/mac80211

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

2019-09-18 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

[PATCH V2 3/4] mac80211: fix low throughput in multi-clients situation

2019-09-18 Thread Yibo Zhao
the unexpected sync - If global virtual time is less than the virtual airtime of any station, sync it to the airtime of first station in the red-black tree - Round the division result Co-developed-by: Toke Høiland-Jørgensen Signed-off-by: Yibo Zhao Signed-off-by: Toke Høiland-Jørgensen

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

2019-09-18 Thread Yibo Zhao
of this schedule round. Co-developed-by: Toke Høiland-Jørgensen Signed-off-by: Yibo Zhao Signed-off-by: Toke Høiland-Jørgensen --- include/net/mac80211.h | 16 ++-- net/mac80211/ieee80211_i.h | 3 +++ net/mac80211/main.c| 6 + net/mac80211/tx.c | 63

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

2019-09-16 Thread Yibo Zhao
ng (mostly?) about ath10k, but I have very little context there. "push pull mode"? "firmware"? These things are not something mac80211 knows about. Hi Johannes, Thanks for your kindly reminder. Will rewrite the commit log. Co-developed-by: Yibo Zhao That also seems

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

2019-09-16 Thread Yibo Zhao
ynced station airtime weight synced with per AC synced weight sum together. And the per-AC station airtime weight is used to calculate weight sum. Signed-off-by: Yibo Zhao --- net/mac80211/cfg.c | 27 +-- net/mac80211/sta_info.c | 6 -- net/mac80211/sta_info.h

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

2019-09-16 Thread Yibo Zhao
rtual airtime of any station, sync it to the airtime of first station in the red-black tree - Round the division result since the process of global virtual time involves the division calculation Co-developed-by: Yibo Zhao Signed-off-by: Yibo Zhao Signed-off-by: Toke Høiland-Jørgensen ---

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

2019-09-16 Thread Yibo Zhao
of this schedule round. Co-developed-by: Yibo Zhao Signed-off-by: Yibo Zhao Signed-off-by: Toke Høiland-Jørgensen --- include/net/mac80211.h | 16 ++-- net/mac80211/ieee80211_i.h | 3 +++ net/mac80211/main.c| 6 + net/mac80211/tx.c | 63

[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

[PATCH] mac80211: suppress kernel warning message

2019-06-14 Thread Yibo Zhao
thout duplicate messages to flood the console. Signed-off-by: Zhi Chen Signed-off-by: Yibo Zhao --- net/mac80211/ieee80211_i.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index a8af4aa..682d0ab 100644 --- a/net/mac

Re: [PATCH v2] mac80211: remove warning message

2019-06-13 Thread Yibo Zhao
On 2019-05-20 21:56, Yibo Zhao wrote: On 2019-05-15 02:57, Johannes Berg wrote: On Tue, 2019-05-14 at 11:54 -0700, Ben Greear wrote: Here is the info I have in my commit that changed this to WARN_ON_ONCE. I never posted it because I had to hack ath10k to get to this state, so maybe this is

Re: [PATCH v2] mac80211: remove warning message

2019-05-20 Thread Yibo Zhao
Yibo Zhao has a better example. mac80211: don't spam kernel logs when chantx is null. I set up ath10k to be chandef based again in order to test WDS. My WDS stations are not very functional yet, and when ethtool stats are queried, there is a WARN_ON splat generated. C

Re: [PATCH v2] mac80211: remove warning message

2019-05-14 Thread Yibo Zhao
On 2019-05-14 17:05, Johannes Berg wrote: On Tue, 2019-05-14 at 17:01 +0800, Yibo Zhao wrote: In multiple SSID cases, it takes time to prepare every AP interface to be ready in initializing phase. If a sta already knows everything it needs to join one of the APs and sends authentication to

[PATCH v2] mac80211: remove warning message

2019-05-14 Thread Yibo Zhao
RN_ON(). Those should be reserved to cases that are not supposed to be hit at all or some other more specific cases like indicating obsolete interface. Signed-off-by: Zhi Chen Signed-off-by: Yibo Zhao --- net/mac80211/ieee80211_i.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

Re: [PATCH] mac80211: remove warning message

2019-05-12 Thread Yibo Zhao
On 2019-05-10 22:04, Ben Greear wrote: On 05/10/2019 12:01 AM, Yibo Zhao wrote: In multiple SSID cases, it takes time to prepare every AP interface to be ready in initializing phase. If a sta already knows everything it needs to join one of the APs and sends authentication to the AP which is

[PATCH] mac80211: remove warning message

2019-05-10 Thread Yibo Zhao
RN_ON(). Those should be reserved to cases that are not supposed to be hit at all or some other more specific cases like indicating obsolete interface. Signed-off-by: Zhi Chen Signed-off-by: Yibo Zhao --- net/mac80211/ieee80211_i.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

Re: [PATCH v2] fq: fix fq_tin tx bytes overflow

2019-04-12 Thread Yibo Zhao
On 2019-04-09 04:01, Johannes Berg wrote: On Mon, 2019-03-18 at 12:59 +0800, Yibo Zhao wrote: I understand your concern. Yes, I am using high end AP for throughput test. I'd say 1.2 Gbps is not the worst case since we can achieve max 1.4Gbps according to our test. AFAIK, for most throu

Re: [PATCH] ath10k: remove iteration in wake_tx_queue

2019-04-01 Thread Yibo Zhao
results and numbers you've run to help others thoughts. I haven't run any tests with ath10k PCIe, but Yibo Zhao had noticed a 10% degradation without this patch. Yibo: Can you provide iperf results etc. that shows the performance gain? My tests are based on ixchariot with cabled setu

Re: [PATCH v2] fq: fix fq_tin tx bytes overflow

2019-03-17 Thread Yibo Zhao
On 2019-03-15 17:38, Johannes Berg wrote: On Wed, 2019-03-13 at 11:08 +0800, Yibo Zhao wrote: Currently, we are using u32 for tx_bytes in fq_tin. If the throughput stays more than 1.2Gbps, tx_bytes statistics overflow in about 1 min. In order to allow us to trace the tx_bytes statistics for

[PATCH v2] fq: fix fq_tin tx bytes overflow

2019-03-13 Thread Yibo Zhao
Currently, we are using u32 for tx_bytes in fq_tin. If the throughput stays more than 1.2Gbps, tx_bytes statistics overflow in about 1 min. In order to allow us to trace the tx_bytes statistics for longer time in high throughput, change its type from u32 to u64. Signed-off-by: Yibo Zhao

Re: FW: [PATCH] ath10k: fix return value check in wake_tx_q op

2019-03-11 Thread Yibo Zhao
On 2019-03-11 14:44, Erik Stromdahl wrote: Hi Yibo, Sorry for a late reply, but I have been busy with other projects lately. I have added my comments below On 3/4/19 2:56 AM, Yibo Zhao wrote: 在 2019-02-25 12:40,Yibo Zhao 写道: 在 2019-02-07 22:25,Kalle Valo 写道: Yibo Zhao writes: I have a

Re: FW: [PATCH] ath10k: fix return value check in wake_tx_q op

2019-03-03 Thread Yibo Zhao
在 2019-02-25 12:40,Yibo Zhao 写道: 在 2019-02-07 22:25,Kalle Valo 写道: Yibo Zhao writes: We have met performance issue on our two-core system after applying your patch. In WDS mode, we found that the peak throughput in TCP-DL and UDP-DL dropped more than 10% compared with previous one. And in

Re: FW: [PATCH] ath10k: fix return value check in wake_tx_q op

2019-02-24 Thread Yibo Zhao
在 2019-02-07 22:25,Kalle Valo 写道: Yibo Zhao writes: We have met performance issue on our two-core system after applying your patch. In WDS mode, we found that the peak throughput in TCP-DL and UDP-DL dropped more than 10% compared with previous one. And in some cases, though throughput stays