linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rajkumar Manoharan <rmanohar@codeaurora.org>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org,
	linux-wireless-owner@vger.kernel.org
Subject: Re: [PATCH 3/6] mac80211: Add airtime accounting and scheduling to TXQs
Date: Wed, 07 Nov 2018 14:35:29 -0800	[thread overview]
Message-ID: <e018fec62487536859ea8202b187c63e@codeaurora.org> (raw)
In-Reply-To: <87va59uegc.fsf@toke.dk>

On 2018-11-07 06:53, Toke Høiland-Jørgensen wrote:
> Rajkumar Manoharan <rmanohar@codeaurora.org> writes:
> 
>> Meanwhile we did some more experiments with both modes. The experiment
>> was done in open environment and fixed rate and UDP traffic ran for 60
>> seconds.
>> 
>> Seems like push mode not honoring the configured weight. Always the
>> airtime was almost same whereas in pull-mode airtime is changing based
>> on configured weight. Hence I would like to know your results.
> 
> Right, so I verified that the current version of the patch set still
> works with ath9k. However, the ath10k card I have doesn't seem to
> support peer stats, so I can't test ath10k.
> 
> $ lspci | grep Qualcomm
> 03:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac
> Wireless Network Adapter
> 
> $ cat /sys/kernel/debug/ieee80211/phy1/ath10k/chip_id
> 0x043202ff
> 
> $ cat /sys/kernel/debug/ieee80211/phy1/ath10k/wmi_services  | grep PEER
> WMI_SERVICE_PEER_CACHING                 -
> WMI_SERVICE_PEER_STATS                   -
> 

Oops... Yeah 988x firmware (10.2.4) does not have peer stats support.

> 
> Is there a way to force-enable airtime support, is this a hardware 
> issue?
> 
Unfortunately not. There is one more pending change that handles airtime 
report
from HTT tx-compl. Again it depends firmware support. These experiments 
are
taken with this f/w interface. Will post the change.

>> 		sta1		sta2		sta3		sta4
>> pull-mode	8s(205us)	18s(3.2ms)	8s(205us)	14s(410us)
>> 		12s(256us)	12s(256us)	13s(256us)	12s(256us)
>> 		14s(4ms)	13s(4ms)	14s(4ms)	13s(4ms)
>> 
>> push-mode	15s(205us)	12s(3.2ms)	16s(205us)	12s(410us)
>> 		15s(256us)	12s(256us)	16s(256us)	12s(256us)
>> 		14s(4ms)	13s(4ms)	16s(4ms)	12s(4ms)
> 
> Right, so the pull-mode results are encouraging! *Something* is
> happening, at least, even though the aggregate airtime doesn't quite
> match the ratios of the configured weights.
> 
> Are you running the UDP generator on the AP itself, or on a separate
> device, BTW? If it's on the AP, the userspace socket can get throttled,
> which will interfere with results, so it's better to have it on a
> separate device (connected via ethernet).
> 
Traffic b/w wired client (via ethernet) and wireless clients.

> As for push-mode, could this be because of bad buffer management? I.e.,
> because there's a lag between the time airtime is registered, and the
> time that airtime usage is reported, the driver just pushes a whole
> bunch of packets to the firmware when it gets the chance, which 
> prevents
> the scheduler from throttling properly. This could also explain the
> better, but not quite perfect, results in pull mode, assuming that pull
> mode results in better firmware buffer management which reduces, but
> doesn't quite remove, the lag.
> 
Hmm... I agree that lag in reporting airtime may cause more data push to 
hw.
Right now both tx and tx-compl are serialized by active_txq_lock. So 
once
lock acquired by tx path, it will download all frames. i.e it is even 
true for
ath9k driver. Hence I am wondering how it is working only with ath9k.

In ath10k, The airtime always be reported in tx-completion. I dont see 
much lag
from my experiments.

> If this is indeed the reason, the queue limit patches should hopefully
> be a solution. So guess we need to get those working as well :)
> 
I would prefer to baseline the basic infra into upstream first and do 
enhancement
on top of that. I request you to revisit maintaining per driver default. 
Otherwise
there would be performance impact with 256us. :(

-Rajkumar

  reply	other threads:[~2018-11-07 22:35 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-20 11:05 [PATCH 0/6] Move TXQ scheduling and airtime fairness into mac80211 Rajkumar Manoharan
2018-10-20 11:05 ` [PATCH 1/6] mac80211: Add TXQ scheduling API Rajkumar Manoharan
2018-11-09 12:00   ` Johannes Berg
2018-11-09 12:39     ` Toke Høiland-Jørgensen
2018-10-20 11:05 ` [PATCH 2/6] cfg80211: Add airtime statistics and settings Rajkumar Manoharan
2018-10-20 11:05 ` [PATCH 3/6] mac80211: Add airtime accounting and scheduling to TXQs Rajkumar Manoharan
2018-10-26 14:16   ` Toke Høiland-Jørgensen
2018-10-26 23:04     ` Rajkumar Manoharan
2018-10-28 15:48       ` Toke Høiland-Jørgensen
2018-10-28 22:01         ` Rajkumar Manoharan
2018-10-29 23:50           ` Rajkumar Manoharan
2018-11-02 10:30             ` Toke Høiland-Jørgensen
2018-11-05  8:39               ` Rajkumar Manoharan
2018-11-07 14:53                 ` Toke Høiland-Jørgensen
2018-11-07 22:35                   ` Rajkumar Manoharan [this message]
2018-11-08 13:46                     ` Toke Høiland-Jørgensen
2018-10-31  6:17         ` yiboz
2018-10-20 11:05 ` [PATCH 4/6] ath9k: Switch to mac80211 TXQ scheduling and airtime APIs Rajkumar Manoharan
2018-10-20 11:05 ` [PATCH 5/6] ath10k: migrate to mac80211 txq scheduling Rajkumar Manoharan
2018-10-24  8:33   ` Kalle Valo
2018-10-24 18:55     ` Rajkumar Manoharan
2018-10-20 11:05 ` [PATCH 6/6] ath10k: reporting estimated tx airtime for fairness Rajkumar Manoharan
2018-10-24  8:35   ` Kalle Valo
2018-10-21 11:27 ` [PATCH 0/6] Move TXQ scheduling and airtime fairness into mac80211 Toke Høiland-Jørgensen

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=e018fec62487536859ea8202b187c63e@codeaurora.org \
    --to=rmanohar@codeaurora.org \
    --cc=ath10k@lists.infradead.org \
    --cc=linux-wireless-owner@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=toke@toke.dk \
    /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).