From: P Praneesh <ppranees@codeaurora.org>
To: kvalo@codeaurora.org
Cc: ath11k@lists.infradead.org, linux-wireless@vger.kernel.org,
P Praneesh <ppranees@codeaurora.org>,
Sriram R <srirrama@codeaurora.org>,
Jouni Malinen <jouni@codeaurora.org>
Subject: [PATCH v3 04/12] ath11k: avoid additional access to ath11k_hal_srng_dst_num_free
Date: Thu, 2 Sep 2021 11:03:32 +0530 [thread overview]
Message-ID: <1630560820-21905-5-git-send-email-ppranees@codeaurora.org> (raw)
In-Reply-To: <1630560820-21905-1-git-send-email-ppranees@codeaurora.org>
In ath11k_dp_process_rx(), after processing rx_desc from
ath11k_hal_srng_dst_get_next_entry(), ath11k_hal_srng_dst_num_free()
is accessed everytime because of done flag is not set.
To avoid this additional access to ath11k_hal_srng_dst_num_free(),
increment total_msdu_reaped only when continuation is not set and
update done flag correspondingly.
Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.4.0.1.r2-00012-QCAHKSWPL_SILICONZ-1
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01695-QCAHKSWPL_SILICONZ-1
Co-developed-by: Sriram R <srirrama@codeaurora.org>
Signed-off-by: Sriram R <srirrama@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: P Praneesh <ppranees@codeaurora.org>
---
drivers/net/wireless/ath/ath11k/dp_rx.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.c b/drivers/net/wireless/ath/ath11k/dp_rx.c
index b84c2db..994959b 100644
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -2623,7 +2623,6 @@ int ath11k_dp_process_rx(struct ath11k_base *ab, int ring_id,
DMA_FROM_DEVICE);
num_buffs_reaped[mac_id]++;
- total_msdu_reaped++;
push_reason = FIELD_GET(HAL_REO_DEST_RING_INFO0_PUSH_REASON,
desc.info0);
@@ -2646,10 +2645,15 @@ int ath11k_dp_process_rx(struct ath11k_base *ab, int ring_id,
__skb_queue_tail(&msdu_list, msdu);
- if (total_msdu_reaped >= quota && !rxcb->is_continuation) {
+ if (rxcb->is_continuation) {
+ done = false;
+ } else {
+ total_msdu_reaped++;
done = true;
- break;
}
+
+ if (total_msdu_reaped >= budget)
+ break;
}
/* Hw might have updated the head pointer after we cached it.
--
2.7.4
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
next prev parent reply other threads:[~2021-09-02 5:35 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-02 5:33 [PATCH v3 00/12] ath11k: optimizations in data path P Praneesh
2021-09-02 5:33 ` [PATCH v3 01/12] ath11k: disable unused CE8 interrupts for ipq8074 P Praneesh
2021-11-15 9:22 ` Kalle Valo
2021-09-02 5:33 ` [PATCH v3 02/12] ath11k: allocate dst ring descriptors from cacheable memory P Praneesh
2021-09-02 5:33 ` [PATCH v3 03/12] ath11k: modify dp_rx desc access wrapper calls inline P Praneesh
2021-11-12 8:35 ` Kalle Valo
2021-09-02 5:33 ` P Praneesh [this message]
2021-09-02 5:33 ` [PATCH v3 05/12] ath11k: avoid active pdev check for each msdu P Praneesh
2021-09-02 5:33 ` [PATCH v3 06/12] ath11k: remove usage quota while processing rx packets P Praneesh
2021-09-02 5:33 ` [PATCH v3 07/12] ath11k: add branch predictors in process_rx P Praneesh
2021-09-02 5:33 ` [PATCH v3 08/12] ath11k: allocate HAL_WBM2SW_RELEASE ring from cacheable memory P Praneesh
2021-09-02 5:33 ` [PATCH v3 09/12] ath11k: remove mod operator in dst ring processing P Praneesh
2021-09-02 5:33 ` [PATCH v3 10/12] ath11k: avoid while loop in ring selection of tx completion interrupt P Praneesh
2021-09-02 5:33 ` [PATCH v3 11/12] ath11k: add branch predictors in dp_tx path P Praneesh
2021-09-02 5:33 ` [PATCH v3 12/12] ath11k: avoid unnecessary lock contention in tx_completion path P Praneesh
2021-11-12 13:07 ` [PATCH v3 00/12] ath11k: optimizations in data path Kalle Valo
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=1630560820-21905-5-git-send-email-ppranees@codeaurora.org \
--to=ppranees@codeaurora.org \
--cc=ath11k@lists.infradead.org \
--cc=jouni@codeaurora.org \
--cc=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.org \
--cc=srirrama@codeaurora.org \
/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).