From: Rajkumar Manoharan <rmanohar@codeaurora.org>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: johannes@sipsolutions.net, linux-wireless@vger.kernel.org
Subject: Re: [RFC 3/3] mac80211: add ieee80211_reorder_txq
Date: Mon, 27 Aug 2018 11:34:09 -0700 [thread overview]
Message-ID: <5a697a77c65745cdabb0e8a3ab0931ef@codeaurora.org> (raw)
In-Reply-To: <87a7pe8xn5.fsf@toke.dk>
On 2018-08-22 04:10, Toke Høiland-Jørgensen wrote:
> Rajkumar Manoharan <rmanohar@codeaurora.org> writes:
>
>> On 2018-08-21 05:24, Toke Høiland-Jørgensen wrote:
>>> Rajkumar Manoharan <rmanohar@codeaurora.org> writes:
>>>
[...]
> Yeah, but the fairness comes from all TXQs being given the *same
> amount*
> of deficit increase. I.e., with reorder_txq() there needs to be a
> guarantee that it is called the same number of times for all active
> TXQs. Which is what the round-robin scheduling ensures in next_txq().
>
Understood.
>> As mentioned earlier, next_txq() can not be used for fetching txq
>> directly. So reorder_txq() needs to take care of refilling txq after
>> serving them.
>
> Yeah, I got that; but see above. Unless there's a guarantee that the
> push/pull mechanism will be round-robin scheduled (which as I'm reading
> the code there isn't), just increasing the deficit on every call to
> reorder_txq() is not going to ensure fairness (it'll probably help
> some,
> but it won't be completely fair).
>
> However, if we add the check to reorder_txq() so the deficit increase +
> rotation is only done if the TXQ is at the head of the list, we'll get
> round-robin-equivalent behaviour since a TXQ will only get to continue
> when it happens to have rotated to the head of the queue. As I
> mentioned
> previously it will break MIMO, but I we could fix that later once we've
> verified that the basic mechanism works.
>
Hmm... The pull mechanism operates in round-robin fashion. Agree that
accessing only head node is right way of ensuring fairness. Will fix it
and rename as ieee80211_txq_can_transmit().
Thanks Toke for your feedback.
-Rajkumar
next prev parent reply other threads:[~2018-08-27 22:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-13 23:13 [RFC 0/3] mac80211: handle push-pull path in ATF Rajkumar Manoharan
2018-08-13 23:13 ` [RFC 1/3] mac80211: make airtime txq list per ac Rajkumar Manoharan
2018-08-13 23:13 ` [RFC 2/3] mac80211: pause txq transmission on negative airtime deficit Rajkumar Manoharan
2018-08-13 23:13 ` [RFC 3/3] mac80211: add ieee80211_reorder_txq Rajkumar Manoharan
2018-08-21 12:24 ` Toke Høiland-Jørgensen
2018-08-21 21:25 ` Rajkumar Manoharan
2018-08-22 11:10 ` Toke Høiland-Jørgensen
2018-08-27 18:34 ` Rajkumar Manoharan [this message]
2018-08-28 10:20 ` Toke Høiland-Jørgensen
2018-08-28 23:54 ` Rajkumar Manoharan
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=5a697a77c65745cdabb0e8a3ab0931ef@codeaurora.org \
--to=rmanohar@codeaurora.org \
--cc=johannes@sipsolutions.net \
--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).