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 --
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
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
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
-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
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
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
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
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
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
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
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
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
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_
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
---
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
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
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
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
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
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
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
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
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
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
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
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
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
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
在 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
在 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
55 matches
Mail list logo