From: Johannes Berg <johannes@sipsolutions.net>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>,
linux-wireless <linux-wireless@vger.kernel.org>
Cc: nbd <nbd@nbd.name>, Kalle Valo <kvalo@codeaurora.org>
Subject: Re: converting mac80211 to TXQs entirely
Date: Fri, 06 Oct 2017 11:44:42 +0200 [thread overview]
Message-ID: <1507283082.19300.6.camel@sipsolutions.net> (raw)
In-Reply-To: <878tgps1o7.fsf@toke.dk>
On Thu, 2017-10-05 at 23:52 +0200, Toke Høiland-Jørgensen wrote:
>
> > I think that's reasonable. I'm not really sure it's *necessary*
> > though? Couldn't mac80211 return NULL, and then simply call
> > wake_tx_queue again when the TXQ becomes eligible for scheduling
> > again? Otherwise the driver might end up doing a lot of polling for
> > it to become eligible again?
>
> Theoretically, but then there would have to be some kind of callback
> or another mechanism to figure out when the queue is ready again. The
> neat thing about DRR scheduling is that we just use the fact that
> there was an attempt to schedule the queue as an opportunity to
> increase that queue's deficit by one quantum. This does give a bit of
> "polling overhead" as you say, but it has been hidden in the
> measurement noise in all my tests.
Ok.
> The obvious alternative is to do a token-based airtime scheduler,
> where the airtime used by one station is immediately divided out to
> all active stations. But that requires walking over all active
> stations on every TX completion, and there's a lot of housekeeping to
> make sure we don't accidentally starve everyone. So I'd prefer to
> stick with the DRR scheduler :)
Sure, works for me.
I have no objection to defining a special error code (we can always use
ERR_PTR(-EAGAIN) or something like that, after all) - we just need to
be careful with driver updates.
Given all these discussions, I'd actually like to put a temporary
restriction on merging new drivers with TXQ support - Felix, I think
you were planning to eventually use this for mt7601u? How far along is
that?
johannes
next prev parent reply other threads:[~2017-10-06 9:44 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-05 12:13 converting mac80211 to TXQs entirely Johannes Berg
2017-10-05 15:39 ` Johannes Berg
2017-10-05 16:28 ` Toke Høiland-Jørgensen
2017-10-05 16:43 ` Johannes Berg
2017-10-05 21:52 ` Toke Høiland-Jørgensen
2017-10-06 9:44 ` Johannes Berg [this message]
2017-10-06 10:17 ` Toke Høiland-Jørgensen
2017-10-06 10:18 ` Johannes Berg
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=1507283082.19300.6.camel@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.org \
--cc=nbd@nbd.name \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.