Linux kernel -stable discussions
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Alexander Wetzel <alexander@wetzel-home.de>
Cc: nbd@nbd.name, linux-wireless@vger.kernel.org,
	"Thomas Mann" <rauchwolke@gmx.net>,
	stable@vger.kernel.org, "Toke Høiland-Jørgensen" <toke@toke.dk>
Subject: Re: [PATCH] wifi: mac80211: Serialize calls to drv_wake_tx_queue()
Date: Tue, 14 Mar 2023 17:50:28 +0100	[thread overview]
Message-ID: <cb7445607128a6b9ed7c17fcdcf3679bfaf4aaea.camel@sipsolutions.net> (raw)
In-Reply-To: <82d5623b-8d21-a8c1-e835-e446adf96cde@wetzel-home.de>


On Tue, 2023-03-14 at 17:44 +0100, Alexander Wetzel wrote:
> > 
> > Have you considered Felix's proposal of having a separate thread to
> > handle all the transmits? Or maybe that's too much for stable too?
> 
> I was planning to respond to Felix mail, too.
> But guess it makes more sense here now and not have multiple concurrent 
> discussions:-)

:-)

> For the immediate fix I do not like the kthread. Which simply may be due 
> to the fact that I would need more time to delve into that.

Agree.

> Not so sure how we can get the queue wakes as cheap as they currently 
> are, though. Each time we kick off the kthread it would have to check 
> the scheduling lists for each AC. Or use one kthread per AC... (That 
> from someone who knows close to nothing about kthread and needs do more 
> reading...)

Yes it might not be as cheap, but a kthread could also handle multiple
packets together if there were many enqueued, so might be even be a net
win in a kind of high traffic case. Not sure.

> Generally it sounds like improvement for mac80211 roadmap. But nothing I 
> would want to pickup right now.
> I first want to wrap up the migration to iTXQ. (Which now also redesigns 
> how filtered and pending frames are handled, btw.)

Also agree with that.

> I'll just use per-ac spinlocks in ieee80211_handle_wake_tx_queue(), 
> allowing multiple ACs to TX at the same time.

Not sure it's even worth splitting it across ACs?

> That's probably not able to prevent the stopped queue issue Thomas got 
> with 6.2 kernels when mutliply ACs have concurrent TX.
> But it will bring back the driver to the level it operated on kernel 
> <6.1. Which sounds acceptable for me.

Sure.

> Someone planning to fix the issue for ath10k?
> If not I'll look into that, too. (Since we don't have known issues for 
> that it's not exactly a priority.)

Not me, already have my hands full with iwlwifi :-)

johannes

  reply	other threads:[~2023-03-14 16:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-13 20:15 [PATCH] wifi: mac80211: Serialize calls to drv_wake_tx_queue() Alexander Wetzel
2023-03-13 20:33 ` Johannes Berg
2023-03-14 11:20   ` Alexander Wetzel
2023-03-14 12:22     ` Johannes Berg
2023-03-14 16:44       ` Alexander Wetzel
2023-03-14 16:50         ` Johannes Berg [this message]
2023-03-14 12:28     ` Felix Fietkau
2023-03-14 12:32       ` Johannes Berg
2023-03-14 12:36         ` Felix Fietkau
2023-03-13 21:04 ` Felix Fietkau

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=cb7445607128a6b9ed7c17fcdcf3679bfaf4aaea.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=alexander@wetzel-home.de \
    --cc=linux-wireless@vger.kernel.org \
    --cc=nbd@nbd.name \
    --cc=rauchwolke@gmx.net \
    --cc=stable@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