[1/3] examples/eventdev_pipeline: configure max events based on dev info

Message ID 20190301071617.6570-1-pbhagavatula@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series [1/3] examples/eventdev_pipeline: configure max events based on dev info |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Pavan Nikhilesh Bhagavatula March 1, 2019, 7:16 a.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Some eventdevs support configuring max events to be -1 (open system).
Check eventdev and event port configuration with eventdev info before
configuring them.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 examples/eventdev_pipeline/pipeline_worker_generic.c | 6 ++++++
 examples/eventdev_pipeline/pipeline_worker_tx.c      | 6 ++++++
 2 files changed, 12 insertions(+)
  

Comments

Jerin Jacob Kollanukkaran March 8, 2019, 6:25 p.m. UTC | #1
On Fri, 2019-03-01 at 07:16 +0000, Pavan Nikhilesh Bhagavatula wrote:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Some eventdevs support configuring max events to be -1 (open system).
> Check eventdev and event port configuration with eventdev info before
> configuring them.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  examples/eventdev_pipeline/pipeline_worker_generic.c | 6 ++++++
>  examples/eventdev_pipeline/pipeline_worker_tx.c      | 6 ++++++

Hi Harry,

Any comments on this patch series as examples/eventdev_pipeline
maintainer?
  
Van Haaren, Harry March 11, 2019, 9:57 a.m. UTC | #2
> -----Original Message-----
> From: Pavan Nikhilesh Bhagavatula [mailto:pbhagavatula@marvell.com]
> Sent: Friday, March 1, 2019 7:17 AM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>
> Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> Subject: [dpdk-dev] [PATCH 1/3] examples/eventdev_pipeline: configure max
> events based on dev info
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Some eventdevs support configuring max events to be -1 (open system).
> Check eventdev and event port configuration with eventdev info before
> configuring them.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

Makes sense to error check these, and set to max on open systems, thanks.

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

Patch

diff --git a/examples/eventdev_pipeline/pipeline_worker_generic.c b/examples/eventdev_pipeline/pipeline_worker_generic.c
index 169064949..766c8e958 100644
--- a/examples/eventdev_pipeline/pipeline_worker_generic.c
+++ b/examples/eventdev_pipeline/pipeline_worker_generic.c
@@ -169,6 +169,8 @@  setup_eventdev_generic(struct worker_data *worker_data)
 
 	wkr_p_conf.disable_implicit_release = disable_implicit_release;
 
+	if (dev_info.max_num_events < config.nb_events_limit)
+		config.nb_events_limit = dev_info.max_num_events;
 	if (dev_info.max_event_port_dequeue_depth <
 			config.nb_event_port_dequeue_depth)
 		config.nb_event_port_dequeue_depth =
@@ -227,6 +229,8 @@  setup_eventdev_generic(struct worker_data *worker_data)
 	}
 	cdata.tx_queue_id = i;
 
+	if (wkr_p_conf.new_event_threshold > config.nb_events_limit)
+		wkr_p_conf.new_event_threshold = config.nb_events_limit;
 	if (wkr_p_conf.dequeue_depth > config.nb_event_port_dequeue_depth)
 		wkr_p_conf.dequeue_depth = config.nb_event_port_dequeue_depth;
 	if (wkr_p_conf.enqueue_depth > config.nb_event_port_enqueue_depth)
@@ -284,6 +288,8 @@  init_adapters(uint16_t nb_ports)
 		.new_event_threshold = 4096,
 	};
 
+	if (adptr_p_conf.new_event_threshold > dev_info.max_num_events)
+		adptr_p_conf.new_event_threshold = dev_info.max_num_events;
 	if (adptr_p_conf.dequeue_depth > dev_info.max_event_port_dequeue_depth)
 		adptr_p_conf.dequeue_depth =
 			dev_info.max_event_port_dequeue_depth;
diff --git a/examples/eventdev_pipeline/pipeline_worker_tx.c b/examples/eventdev_pipeline/pipeline_worker_tx.c
index 85eb075fc..8961cd656 100644
--- a/examples/eventdev_pipeline/pipeline_worker_tx.c
+++ b/examples/eventdev_pipeline/pipeline_worker_tx.c
@@ -465,6 +465,8 @@  setup_eventdev_worker_tx_enq(struct worker_data *worker_data)
 	ret = rte_event_dev_info_get(dev_id, &dev_info);
 	printf("\tEventdev %d: %s\n", dev_id, dev_info.driver_name);
 
+	if (dev_info.max_num_events < config.nb_events_limit)
+		config.nb_events_limit = dev_info.max_num_events;
 	if (dev_info.max_event_port_dequeue_depth <
 			config.nb_event_port_dequeue_depth)
 		config.nb_event_port_dequeue_depth =
@@ -528,6 +530,8 @@  setup_eventdev_worker_tx_enq(struct worker_data *worker_data)
 	}
 
 	printf("\n");
+	if (wkr_p_conf.new_event_threshold > config.nb_events_limit)
+		wkr_p_conf.new_event_threshold = config.nb_events_limit;
 	if (wkr_p_conf.dequeue_depth > config.nb_event_port_dequeue_depth)
 		wkr_p_conf.dequeue_depth = config.nb_event_port_dequeue_depth;
 	if (wkr_p_conf.enqueue_depth > config.nb_event_port_enqueue_depth)
@@ -617,6 +621,8 @@  init_adapters(uint16_t nb_ports)
 		.new_event_threshold = 4096,
 	};
 
+	if (adptr_p_conf.new_event_threshold > dev_info.max_num_events)
+		adptr_p_conf.new_event_threshold = dev_info.max_num_events;
 	if (adptr_p_conf.dequeue_depth > dev_info.max_event_port_dequeue_depth)
 		adptr_p_conf.dequeue_depth =
 			dev_info.max_event_port_dequeue_depth;