linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@kernel.org>
To: Johannes Berg <johannes@sipsolutions.net>,
	Felix Fietkau <nbd@nbd.name>,
	linux-wireless@vger.kernel.org
Subject: Re: [RFC] mac80211: add AQL support for broadcast packets
Date: Mon, 12 Feb 2024 11:56:17 +0100	[thread overview]
Message-ID: <87sf1yymr2.fsf@toke.dk> (raw)
In-Reply-To: <66bddf2f6362c9f39f06e06c0c35b6900917b9bf.camel@sipsolutions.net>

Johannes Berg <johannes@sipsolutions.net> writes:

> On Sat, 2024-02-10 at 17:18 +0100, Felix Fietkau wrote:
>> 
>> > > +++ b/include/net/cfg80211.h
>> > > @@ -3385,6 +3385,7 @@ enum wiphy_params_flags {
>> > >  /* The per TXQ device queue limit in airtime */
>> > >  #define IEEE80211_DEFAULT_AQL_TXQ_LIMIT_L	5000
>> > >  #define IEEE80211_DEFAULT_AQL_TXQ_LIMIT_H	12000
>> > > +#define IEEE80211_DEFAULT_AQL_TXQ_LIMIT_BC	50000
>> > 
>> > How did you arrive at the 50 ms figure for the limit on broadcast
>> > traffic? Seems like quite a lot? Did you experiment with different
>> > values?
>> 
>> Whenever a client is connected and in powersave mode, all multicast 
>> packets are buffered and sent after the beacon. Because of that I 
>> decided to use half of a default beacon interval.
>
> That makes some sense, I guess.

This implies that we will allow enough data to be queued up in the
hardware to spend half the next beacon interval just sending that
broadcast data? Isn't that a bit much if the goal is to prevent
broadcast from killing the network? What effect did you measure of this
patch? :)

Also, as soon as something is actually transmitted, the kernel will
start pushing more data into the HW from the queue in the host. So the
HW queue limit shouldn't be set as "this is the maximum that should be
transmitted in one go", but rather "this is the minimum time we need for
the software stack to catch up and refill the queue before it runs
empty". So from that perspective 50ms also seems a bit high?

> It does have me wondering though if we should also consider multicast
> for airtime fairness in some way?

Yeah, that would make sense. The virtual time-based scheduler that we
ended up reverting actually included airtime accounting for the
multicast queue as well. I don't recall if there was any problem with
that particular part of the change, or if it's just incidental that we
got rid of it as part of the revert. But it may be worth revisiting and
adding a similar mechanism to the round-robin scheduler...

-Toke

  reply	other threads:[~2024-02-12 10:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-09 18:47 [RFC] mac80211: add AQL support for broadcast packets Felix Fietkau
2024-02-09 19:32 ` Johannes Berg
2024-02-09 19:46   ` Felix Fietkau
2024-02-10 14:55 ` Toke Høiland-Jørgensen
2024-02-10 16:18   ` Felix Fietkau
2024-02-12 10:26     ` Johannes Berg
2024-02-12 10:56       ` Toke Høiland-Jørgensen [this message]
2024-02-12 11:10         ` Felix Fietkau
2024-02-12 13:15           ` 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=87sf1yymr2.fsf@toke.dk \
    --to=toke@kernel.org \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=nbd@nbd.name \
    /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).