[dpdk-dev,v2] examples/eventdev: fix run forever with -n param

Message ID 1501861750-57499-1-git-send-email-harry.van.haaren@intel.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Van Haaren, Harry Aug. 4, 2017, 3:49 p.m. UTC
  During the refactoring of the sample app to be more generic, the
option to set -n0 and process a huge number of packets was lost.
This commit re-adds -n0, and will process INT64_MAX number of packets.

Fixes: adb5d5486c39 ("examples/eventdev_pipeline_sw_pmd: add sample app")

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>

---

v2: fix checkpatch whitespace issue
---
 examples/eventdev_pipeline_sw_pmd/main.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
  

Comments

Thomas Monjalon Aug. 4, 2017, 11:37 p.m. UTC | #1
04/08/2017 17:49, Harry van Haaren:
> During the refactoring of the sample app to be more generic, the
> option to set -n0 and process a huge number of packets was lost.
> This commit re-adds -n0, and will process INT64_MAX number of packets.
> 
> Fixes: adb5d5486c39 ("examples/eventdev_pipeline_sw_pmd: add sample app")
> 
> Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>

Applied, thanks
  

Patch

diff --git a/examples/eventdev_pipeline_sw_pmd/main.c b/examples/eventdev_pipeline_sw_pmd/main.c
index 91dddb1..dd75cb7 100644
--- a/examples/eventdev_pipeline_sw_pmd/main.c
+++ b/examples/eventdev_pipeline_sw_pmd/main.c
@@ -91,7 +91,7 @@  static struct fastpath_data *fdata;
 struct config_data {
 	unsigned int active_cores;
 	unsigned int num_workers;
-	long num_packets;
+	int64_t num_packets;
 	unsigned int num_fids;
 	int queue_type;
 	int worker_cycles;
@@ -121,7 +121,6 @@  core_in_use(unsigned int lcore_id) {
 		fdata->tx_core[lcore_id] || fdata->worker_core[lcore_id]);
 }
 
-
 static void
 eth_tx_buffer_retry(struct rte_mbuf **pkts, uint16_t unsent,
 			void *userdata)
@@ -471,7 +470,9 @@  parse_app_args(int argc, char **argv)
 		int popcnt = 0;
 		switch (c) {
 		case 'n':
-			cdata.num_packets = (unsigned long)atol(optarg);
+			cdata.num_packets = (int64_t)atol(optarg);
+			if (cdata.num_packets == 0)
+				cdata.num_packets = INT64_MAX;
 			break;
 		case 'f':
 			cdata.num_fids = (unsigned int)atoi(optarg);
@@ -908,7 +909,7 @@  main(int argc, char **argv)
 		printf("  Config:\n");
 		printf("\tports: %u\n", num_ports);
 		printf("\tworkers: %u\n", cdata.num_workers);
-		printf("\tpackets: %lu\n", cdata.num_packets);
+		printf("\tpackets: %"PRIi64"\n", cdata.num_packets);
 		printf("\tQueue-prio: %u\n", cdata.enable_queue_priorities);
 		if (cdata.queue_type == RTE_EVENT_QUEUE_CFG_ORDERED_ONLY)
 			printf("\tqid0 type: ordered\n");