All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] examples/l3fwd-power: fix zero rxq handling
@ 2017-04-26  6:52 Jingjing Wu
  2017-04-26  7:01 ` [PATCH v2] " Jingjing Wu
  2017-04-28 10:47 ` Jingjing Wu
  0 siblings, 2 replies; 4+ messages in thread
From: Jingjing Wu @ 2017-04-26  6:52 UTC (permalink / raw)
  To: dev; +Cc: jingjing.wu, stable

If the number of rx queues is zero, it is meaningless to enable
rx interrupt. This patch fixes it.

Fixes: aee3bc79cc34 ("examples/l3fwd-power: enable one-shot Rx interrupt and polling switch")
Cc: stable@dpdk.org
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 examples/l3fwd-power/main.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index ec40a17..cea36dd 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -1654,6 +1654,7 @@ main(int argc, char **argv)
 	uint32_t n_tx_queue, nb_lcores;
 	uint32_t dev_rxq_num, dev_txq_num;
 	uint8_t portid, nb_rx_queue, queue, socketid;
+	uint16_t org_rxq_intr = port_conf.intr_conf.rxq;
 
 	/* catch SIGINT and restore cpufreq governor to ondemand */
 	signal(SIGINT, signal_exit_now);
@@ -1714,8 +1715,13 @@ main(int argc, char **argv)
 			n_tx_queue = dev_txq_num;
 		printf("Creating queues: nb_rxq=%d nb_txq=%u... ",
 			nb_rx_queue, (unsigned)n_tx_queue );
+		/* If number of Rx queue is 0, no need to enable Rx interrupt */
+		if (nb_rx_queue == 0)
+			port_conf.intr_conf.rxq = 0;
 		ret = rte_eth_dev_configure(portid, nb_rx_queue,
 					(uint16_t)n_tx_queue, &port_conf);
+		/* Revert to orignal value */
+		port_conf.intr_conf.rxq = org_rxq_intr;
 		if (ret < 0)
 			rte_exit(EXIT_FAILURE, "Cannot configure device: "
 					"err=%d, port=%d\n", ret, portid);
-- 
2.4.11

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2] examples/l3fwd-power: fix zero rxq handling
  2017-04-26  6:52 [PATCH] examples/l3fwd-power: fix zero rxq handling Jingjing Wu
@ 2017-04-26  7:01 ` Jingjing Wu
  2017-04-28 10:47 ` Jingjing Wu
  1 sibling, 0 replies; 4+ messages in thread
From: Jingjing Wu @ 2017-04-26  7:01 UTC (permalink / raw)
  To: dev; +Cc: jingjing.wu, stable

If the number of rx queues is zero, it is meaningless to enable
rx interrupt. This patch fixes it.

Fixes: aee3bc79cc34 ("examples/l3fwd-power: enable one-shot Rx interrupt and polling switch")
Cc: stable@dpdk.org
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
v2 changes:
 - fix typo.

 examples/l3fwd-power/main.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index ec40a17..57636e9 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -1654,6 +1654,7 @@ main(int argc, char **argv)
 	uint32_t n_tx_queue, nb_lcores;
 	uint32_t dev_rxq_num, dev_txq_num;
 	uint8_t portid, nb_rx_queue, queue, socketid;
+	uint16_t org_rxq_intr = port_conf.intr_conf.rxq;
 
 	/* catch SIGINT and restore cpufreq governor to ondemand */
 	signal(SIGINT, signal_exit_now);
@@ -1714,8 +1715,13 @@ main(int argc, char **argv)
 			n_tx_queue = dev_txq_num;
 		printf("Creating queues: nb_rxq=%d nb_txq=%u... ",
 			nb_rx_queue, (unsigned)n_tx_queue );
+		/* If number of Rx queue is 0, no need to enable Rx interrupt */
+		if (nb_rx_queue == 0)
+			port_conf.intr_conf.rxq = 0;
 		ret = rte_eth_dev_configure(portid, nb_rx_queue,
 					(uint16_t)n_tx_queue, &port_conf);
+		/* Revert to original value */
+		port_conf.intr_conf.rxq = org_rxq_intr;
 		if (ret < 0)
 			rte_exit(EXIT_FAILURE, "Cannot configure device: "
 					"err=%d, port=%d\n", ret, portid);
-- 
2.4.11

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2] examples/l3fwd-power: fix zero rxq handling
  2017-04-26  6:52 [PATCH] examples/l3fwd-power: fix zero rxq handling Jingjing Wu
  2017-04-26  7:01 ` [PATCH v2] " Jingjing Wu
@ 2017-04-28 10:47 ` Jingjing Wu
  2017-05-01 15:52   ` Thomas Monjalon
  1 sibling, 1 reply; 4+ messages in thread
From: Jingjing Wu @ 2017-04-28 10:47 UTC (permalink / raw)
  To: dev; +Cc: jingjing.wu, stable

If the number of rx queues is zero, it is meaningless to enable
rx interrupt. This patch fixes it.

Fixes: aee3bc79cc34 ("examples/l3fwd-power: enable one-shot Rx interrupt and polling switch")
Cc: stable@dpdk.org
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
v2 changes:
 - fix typo.

 examples/l3fwd-power/main.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index ec40a17..57636e9 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -1654,6 +1654,7 @@ main(int argc, char **argv)
 	uint32_t n_tx_queue, nb_lcores;
 	uint32_t dev_rxq_num, dev_txq_num;
 	uint8_t portid, nb_rx_queue, queue, socketid;
+	uint16_t org_rxq_intr = port_conf.intr_conf.rxq;
 
 	/* catch SIGINT and restore cpufreq governor to ondemand */
 	signal(SIGINT, signal_exit_now);
@@ -1714,8 +1715,13 @@ main(int argc, char **argv)
 			n_tx_queue = dev_txq_num;
 		printf("Creating queues: nb_rxq=%d nb_txq=%u... ",
 			nb_rx_queue, (unsigned)n_tx_queue );
+		/* If number of Rx queue is 0, no need to enable Rx interrupt */
+		if (nb_rx_queue == 0)
+			port_conf.intr_conf.rxq = 0;
 		ret = rte_eth_dev_configure(portid, nb_rx_queue,
 					(uint16_t)n_tx_queue, &port_conf);
+		/* Revert to original value */
+		port_conf.intr_conf.rxq = org_rxq_intr;
 		if (ret < 0)
 			rte_exit(EXIT_FAILURE, "Cannot configure device: "
 					"err=%d, port=%d\n", ret, portid);
-- 
2.4.11

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] examples/l3fwd-power: fix zero rxq handling
  2017-04-28 10:47 ` Jingjing Wu
@ 2017-05-01 15:52   ` Thomas Monjalon
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2017-05-01 15:52 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: dev, stable

28/04/2017 12:47, Jingjing Wu:
> If the number of rx queues is zero, it is meaningless to enable
> rx interrupt. This patch fixes it.
> 
> Fixes: aee3bc79cc34 ("examples/l3fwd-power: enable one-shot Rx interrupt and polling switch")
> Cc: stable@dpdk.org
> Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>

Applied, thanks

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-05-01 15:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-26  6:52 [PATCH] examples/l3fwd-power: fix zero rxq handling Jingjing Wu
2017-04-26  7:01 ` [PATCH v2] " Jingjing Wu
2017-04-28 10:47 ` Jingjing Wu
2017-05-01 15:52   ` Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.