lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9e314a29-69a3-45b3-9d70-b86075582b23@quicinc.com>
Date: Thu, 17 Oct 2024 14:25:27 -0700
From: Jeff Johnson <quic_jjohnson@...cinc.com>
To: Remi Pommarel <repk@...plefau.lt>, <ath10k@...ts.infradead.org>,
        <linux-wireless@...r.kernel.org>, <linux-kernel@...r.kernel.org>
CC: Kalle Valo <kvalo@...nel.org>, Jeff Johnson <jjohnson@...nel.org>,
        Cedric
 Veilleux <veilleux.cedric@...il.com>
Subject: Re: [PATCH 0/2] Improve ath10k flush queue mechanism

On 10/12/2024 7:13 AM, Remi Pommarel wrote:
> 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")
> 
> Remi Pommarel (2):
>   wifi: ath10k: Implement ieee80211 flush_sta callback
>   wifi: ath10k: Flush only requested txq in ath10k_flush()
> 
>  drivers/net/wireless/ath/ath10k/core.h   |  4 ++
>  drivers/net/wireless/ath/ath10k/htt.h    | 11 +++-
>  drivers/net/wireless/ath/ath10k/htt_tx.c | 50 +++++++++++++++-
>  drivers/net/wireless/ath/ath10k/mac.c    | 76 ++++++++++++++++++++----
>  drivers/net/wireless/ath/ath10k/txrx.c   |  5 +-
>  5 files changed, 129 insertions(+), 17 deletions(-)
> 
LGTM wit a few nits.
Hope the Qualcomm ath10k folks review this.

/jeff

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ