From: Remi Pommarel <repk@triplefau.lt>
To: Kalle Valo <kvalo@kernel.org>
Cc: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org,
linux-kernel@vger.kernel.org, Jeff Johnson <jjohnson@kernel.org>,
Cedric Veilleux <veilleux.cedric@gmail.com>,
Vasanthakumar Thiagarajan <quic_vthiagar@quicinc.com>
Subject: Re: [RESEND PATCH v3 0/2] Improve ath10k flush queue mechanism
Date: Thu, 9 Jan 2025 14:56:35 +0100 [thread overview]
Message-ID: <Z3_Vk6doGyavKSea@pilgrim> (raw)
In-Reply-To: <87ldvkdtqn.fsf@kernel.org>
On Thu, Jan 09, 2025 at 03:03:44PM +0200, Kalle Valo wrote:
> Remi Pommarel <repk@triplefau.lt> writes:
>
> > It has been reported [0] that a 3-4 seconds (actually up to 5 sec) of
> > radio silence could be observed followed by the error below on ath10k
> > devices:
> >
> > ath10k_pci 0000:04:00.0: failed to flush transmit queue (skip 0 ar-state 1): 0
> >
> > This is due to how the TX queues are flushed in ath10k. When a STA is
> > removed, mac80211 need to flush queues [1], but because ath10k does not
> > have a lightweight .flush_sta operation, ieee80211_flush_queues() is
> > called instead effectively blocking the whole queue during the drain
> > causing this radio silence. Also because ath10k_flush() waits for all
> > queued to be emptied, not only the flushed ones it could more easily
> > take up to 5 seconds to finish making the whole situation worst.
> >
> > The first patch of this series adds a .flush_sta operation to flush only
> > specific STA traffic avoiding the need to stop whole queues and should
> > be enough in itself to fix the reported issue.
> >
> > The second patch of this series is a proposal to improve ath10k_flush so
> > that it will be less likely to timeout waiting for non related queues to
> > drain.
> >
> > The abose kernel warning could still be observed (e.g. flushing a dead
> > STA) but should be now harmless.
> >
> > [0]: https://lore.kernel.org/all/CA+Xfe4FjUmzM5mvPxGbpJsF3SvSdE5_wgxvgFJ0bsdrKODVXCQ@mail.gmail.com/
> > [1]: commit 0b75a1b1e42e ("wifi: mac80211: flush queues on STA removal")
>
> On what hardware and firmware did you test this? As they can behave very
> differently knowing that is really important.
This was tested on QCA9888 hw 2.0 10.4-3.10-00076.
Not sure to see how a different HW/FW could have prevented that though.
--
Remi
prev parent reply other threads:[~2025-01-09 14:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-22 16:48 [RESEND PATCH v3 0/2] Improve ath10k flush queue mechanism Remi Pommarel
2024-11-22 16:48 ` [RESEND PATCH v3 1/2] wifi: ath10k: Implement ieee80211 flush_sta callback Remi Pommarel
2024-11-22 16:48 ` [RESEND PATCH v3 2/2] wifi: ath10k: Flush only requested txq in ath10k_flush() Remi Pommarel
2025-07-25 21:57 ` Maurer, Florian
2024-11-26 12:57 ` [RESEND PATCH v3 0/2] Improve ath10k flush queue mechanism James Prestwood
2024-11-26 12:59 ` James Prestwood
2024-11-29 16:31 ` Remi Pommarel
2024-12-02 15:25 ` James Prestwood
2025-01-09 13:03 ` Kalle Valo
2025-01-09 13:56 ` Remi Pommarel [this message]
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=Z3_Vk6doGyavKSea@pilgrim \
--to=repk@triplefau.lt \
--cc=ath10k@lists.infradead.org \
--cc=jjohnson@kernel.org \
--cc=kvalo@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=quic_vthiagar@quicinc.com \
--cc=veilleux.cedric@gmail.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).