DPDK patches and discussions
 help / color / mirror / Atom feed
From: Balazs Nemeth <bnemeth@redhat.com>
To: bnemeth@redhat.com, dev@dpdk.org
Subject: [dpdk-dev] [PATCH 7/8] net/qede: prefetch next packet to free
Date: Fri,  5 Mar 2021 14:14:05 +0100	[thread overview]
Message-ID: <5ad79e09884d954f772e386c71fcf84fe212085b.1614938727.git.bnemeth@redhat.com> (raw)
In-Reply-To: <cover.1614938727.git.bnemeth@redhat.com>

While handling the current mbuf, pull the next next mbuf into the cache.
Note that the last four mbufs pulled into the cache are not handled, but
that doesn't matter.

Signed-off-by: Balazs Nemeth <bnemeth@redhat.com>
---
 drivers/net/qede/qede_rxtx.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index b74a1ec1b..e89498811 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -915,6 +915,11 @@ qede_process_tx_compl(__rte_unused struct ecore_dev *edev,
 		nb_segs = mbuf->nb_segs;
 		remaining -= nb_segs;
 
+		/* Prefetch the next mbuf. Note that at least the last 4 mbufs
+		   that are prefetched will not be used in the current call. */
+		rte_mbuf_prefetch_part1(txq->sw_tx_ring[(idx + 4) & mask]);
+		rte_mbuf_prefetch_part2(txq->sw_tx_ring[(idx + 4) & mask]);
+
 		PMD_TX_LOG(DEBUG, txq, "nb_segs to free %u\n", nb_segs);
 
 		while (nb_segs) {
-- 
2.29.2


  parent reply	other threads:[~2021-03-05 13:15 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-05 13:13 [dpdk-dev] [PATCH 0/8] Optimize qede use of rx/tx_entries Balazs Nemeth
2021-03-05 13:13 ` [dpdk-dev] [PATCH 1/8] net/qede: remove flags from qede_tx_entry and simplify to rte_mbuf Balazs Nemeth
2021-03-05 13:14 ` [dpdk-dev] [PATCH 2/8] net/qede: avoid repeatedly calling ecore_chain_get_cons_idx Balazs Nemeth
2021-03-05 13:14 ` [dpdk-dev] [PATCH 3/8] net/qede: assume txq->sw_tx_ring[idx] is never null in qede_free_tx_pkt Balazs Nemeth
2021-03-05 13:14 ` [dpdk-dev] [PATCH 4/8] net/qede: inline qede_free_tx_pkt to prepare for rte_pktmbuf_free_bulk Balazs Nemeth
2021-03-05 13:14 ` [dpdk-dev] [PATCH 5/8] net/qede: use rte_pktmbuf_free_bulk instead of rte_pktmbuf_free Balazs Nemeth
2021-03-05 13:14 ` [dpdk-dev] [PATCH 6/8] net/qede: prefetch txq->hw_cons_ptr Balazs Nemeth
2021-03-05 13:14 ` Balazs Nemeth [this message]
2021-03-05 13:14 ` [dpdk-dev] [PATCH 8/8] net/qede: remove page_offset from struct qede_rx_entry and simplify Balazs Nemeth
2021-03-08 18:13 ` [dpdk-dev] [PATCH 0/8] Optimize qede use of rx/tx_entries Jerin Jacob
2021-03-10  6:43   ` [dpdk-dev] [EXT] " Igor Russkikh
2021-03-10  7:51     ` Jerin Jacob
2021-03-10  8:17       ` Igor Russkikh
2021-03-20 13:16     ` Jerin Jacob
2021-03-22 17:08 ` [dpdk-dev] [EXT] " Igor Russkikh
2021-03-24  9:18   ` Jerin Jacob
2021-03-24  9:34     ` Balazs Nemeth

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=5ad79e09884d954f772e386c71fcf84fe212085b.1614938727.git.bnemeth@redhat.com \
    --to=bnemeth@redhat.com \
    --cc=dev@dpdk.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).