linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: "Toke Høiland-Jørgensen" <toke@redhat.com>
Cc: linux-wireless@vger.kernel.org,
	make-wifi-fast@lists.bufferbloat.net, ath10k@lists.infradead.org,
	John Crispin <john@phrozen.org>,
	Lorenzo Bianconi <lorenzo@kernel.org>,
	Felix Fietkau <nbd@nbd.name>, Kan Yan <kyan@google.com>,
	Rajkumar Manoharan <rmanohar@codeaurora.org>,
	Kevin Hayes <kevinhayes@google.com>
Subject: Re: [PATCH v6 4/4] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue
Date: Fri, 08 Nov 2019 11:17:00 +0100	[thread overview]
Message-ID: <0b43c4822ab83ea4d33a5a32d8ff6c7a56eff6c5.camel@sipsolutions.net> (raw)
In-Reply-To: <157182474399.150713.16380222749144410045.stgit@toke.dk>

On Wed, 2019-10-23 at 11:59 +0200, Toke Høiland-Jørgensen wrote:
> 
> +	if (info->tx_time_est) {
> +		struct sta_info *sta = NULL, *s;
> +		struct rhlist_head *tmp;
> +
> +		rcu_read_lock();
> +
> +		for_each_sta_info(local, hdr->addr1, s, tmp) {
> +			/* skip wrong virtual interface */
> +			if (!ether_addr_equal(hdr->addr2, s->sdata->vif.addr))
> +				continue;
> +
> +			sta = s;
> +			break;
> +		}

I guess that is better than looking up the sdata and then using
sta_info_get(), but I think I'd like to see this wrapped into a function
(even if it's an inline) in sta_info.{c,h}.

> +		airtime = ieee80211_calc_expected_tx_airtime(hw, vif, txq->sta,
> +							     skb->len);
> +		if (airtime) {
> +			/* We only have 10 bits in tx_time_est, so store airtime
> +			 * in increments of 4us and clamp the maximum to 2**12-1
> +			 */
> +			airtime = min_t(u32, airtime, 4095) & ~3U;
> +			info->tx_time_est = airtime >> 2;
> +			ieee80211_sta_update_pending_airtime(local, tx.sta,
> +							     txq->ac, airtime,
> +							     false);

I wonder if it'd be better to pass the shifted value to
ieee80211_sta_update_pending_airtime() to avoid all the shifting in all
places?

You could even store the shifted value in "aql_tx_pending" and
"aql_total_pending_airtime" etc., it's completely equivalent, and only
shift it out for people looking at debugfs.

johannes


  reply	other threads:[~2019-11-08 10:17 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-23  9:58 [PATCH v6 0/4] Add Airtime Queue Limits (AQL) to mac80211 Toke Høiland-Jørgensen
2019-10-23  9:59 ` [PATCH v6 1/4] mac80211: Shrink the size of ack_frame_id to make room for tx_time_est Toke Høiland-Jørgensen
2019-11-08 10:03   ` Johannes Berg
2019-10-23  9:59 ` [PATCH v6 2/4] mac80211: Import airtime calculation code from mt76 Toke Høiland-Jørgensen
2019-11-08 10:07   ` Johannes Berg
2019-11-08 10:55     ` Toke Høiland-Jørgensen
2019-11-08 10:57       ` Johannes Berg
2019-10-23  9:59 ` [PATCH v6 3/4] mac80211: Implement Airtime-based Queue Limit (AQL) Toke Høiland-Jørgensen
2019-11-08 10:09   ` Johannes Berg
2019-11-08 10:56     ` Toke Høiland-Jørgensen
2019-11-08 10:59       ` Johannes Berg
2019-11-08 11:10         ` Toke Høiland-Jørgensen
2019-11-08 11:17           ` Johannes Berg
2019-11-09  1:22             ` Kan Yan
2019-11-09 11:22               ` Toke Høiland-Jørgensen
2019-10-23  9:59 ` [PATCH v6 4/4] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue Toke Høiland-Jørgensen
2019-11-08 10:17   ` Johannes Berg [this message]
2019-11-08 11:01     ` Toke Høiland-Jørgensen
2019-11-08 11:05       ` Johannes Berg
2019-11-07  6:14 ` [PATCH v6 0/4] Add Airtime Queue Limits (AQL) to mac80211 Kan Yan
2019-11-07 10:55   ` Toke Høiland-Jørgensen
2019-11-07 21:24   ` [Make-wifi-fast] " Dave Taht

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=0b43c4822ab83ea4d33a5a32d8ff6c7a56eff6c5.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=ath10k@lists.infradead.org \
    --cc=john@phrozen.org \
    --cc=kevinhayes@google.com \
    --cc=kyan@google.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lorenzo@kernel.org \
    --cc=make-wifi-fast@lists.bufferbloat.net \
    --cc=nbd@nbd.name \
    --cc=rmanohar@codeaurora.org \
    --cc=toke@redhat.com \
    /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).