From: Wisam Jaddo <wisamm@mellanox.com>
To: thomas@monjalon.net, jackmin@mellanox.com, david.marchand@redhat.com
Cc: dev@dpdk.org, wisamm@mellanox.com
Subject: [dpdk-dev] [PATCH v3] app/flow-perf: fix condition of hairpin queues setup
Date: Mon, 6 Jul 2020 08:32:41 +0000 [thread overview]
Message-ID: <20200706083241.9073-1-wisamm@mellanox.com> (raw)
In-Reply-To: <20200706075318.8048-1-wisamm@mellanox.com>
The hairpin queue is the one that start from normal rxq,
and will be less than nr_queues where nr_queues is the
sum of normal and hairpin
Fixes: bf3688f1e816 ("app/flow-perf: add insertion rate calculation")
Cc: wisamm@mellanox.com
Signed-off-by: Wisam Jaddo <wisamm@mellanox.com>
Reviewed-by: Asaf Penso <asafp@mellanox.com>
---
v3:
* Add variable documentation variable declaration.
v2:
* Add documentation of hairpin peering and allocating logic.
* Add documentation for some variables.
---
app/test-flow-perf/main.c | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c
index e155e49c37..2200767e0d 100644
--- a/app/test-flow-perf/main.c
+++ b/app/test-flow-perf/main.c
@@ -59,6 +59,13 @@ static struct rte_mempool *mbuf_mp;
static uint32_t nb_lcores;
static uint32_t flows_count;
static uint32_t iterations_number;
+/*
+ * hairpinq: represent the number of hairpin queues needed
+ * to be initialized.
+ *
+ * In 0 case means no hairpin queues needed which is the
+ * default.
+ */
static uint32_t hairpinq;
static uint32_t nb_lcores;
@@ -929,6 +936,7 @@ init_port(void)
{
int ret;
uint16_t std_queue;
+ /* hairpin_q represent hairpin queue id to be initialized. */
uint16_t hairpin_q;
uint16_t port_id;
uint16_t nr_ports;
@@ -1012,8 +1020,19 @@ init_port(void)
rte_strerror(-ret), port_id);
if (hairpinq != 0) {
+ /*
+ * Each hairpin queue setup need a hairpin configuration
+ * object, which determine the TX path for hairpin.
+ *
+ * The peering here represent the TX side, which mean the
+ * peer.port represent TX port, and peer.queue represent
+ * tx_queue.
+ *
+ * So if RXQ=4 and TXQ=4, and first hairpin_q is 4 after
+ * [0, 1, 2, 3], then tx_queue is TXQ+i which is 4 as well.
+ */
for (hairpin_q = RXQ_NUM, std_queue = 0;
- std_queue < nr_queues;
+ hairpin_q < nr_queues;
hairpin_q++, std_queue++) {
hairpin_conf.peers[0].port = port_id;
hairpin_conf.peers[0].queue =
@@ -1028,7 +1047,7 @@ init_port(void)
}
for (hairpin_q = TXQ_NUM, std_queue = 0;
- std_queue < nr_queues;
+ hairpin_q < nr_queues;
hairpin_q++, std_queue++) {
hairpin_conf.peers[0].port = port_id;
hairpin_conf.peers[0].queue =
--
2.17.1
next prev parent reply other threads:[~2020-07-06 8:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-30 8:10 [dpdk-dev] [PATCH] " Wisam Jaddo
2020-07-05 15:39 ` Asaf Penso
2020-07-05 20:39 ` Thomas Monjalon
2020-07-06 8:00 ` Wisam Monther
2020-07-06 7:53 ` [dpdk-dev] [PATCH v2] " Wisam Jaddo
2020-07-06 8:15 ` Thomas Monjalon
2020-07-06 8:32 ` Wisam Jaddo [this message]
2020-07-16 14:16 ` [dpdk-dev] [PATCH v4] " Wisam Jaddo
2020-07-19 13:11 ` Thomas Monjalon
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=20200706083241.9073-1-wisamm@mellanox.com \
--to=wisamm@mellanox.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=jackmin@mellanox.com \
--cc=thomas@monjalon.net \
/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).