linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

      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).