[dpdk-dev] [PATCH v4 07/13] app/eventdev: add Tx service setup

Van Haaren, Harry harry.van.haaren at intel.com
Tue Jan 16 12:57:28 CET 2018


> From: Pavan Nikhilesh [mailto:pbhagavatula at caviumnetworks.com]
> Sent: Friday, January 12, 2018 4:44 PM
> To: jerin.jacob at caviumnetworks.com; santosh.shukla at caviumnetworks.com; Van
> Haaren, Harry <harry.van.haaren at intel.com>; Eads, Gage
> <gage.eads at intel.com>; hemant.agrawal at nxp.com; nipun.gupta at nxp.com; Ma,
> Liang J <liang.j.ma at intel.com>
> Cc: dev at dpdk.org; Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> Subject: [dpdk-dev] [PATCH v4 07/13] app/eventdev: add Tx service setup
> 
> Setup one port event port for Tx and link the respective event queue.
> Register the Tx function as a service to be called from a service core.
> The Tx function dequeues the events from the event queue and transmits
> the packet to its respective ethernet port.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>

Just a comment below - no changes required.

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


> +int
> +pipeline_event_tx_service_setup(struct evt_test *test, struct evt_options
> *opt,
> +		uint8_t tx_queue_id, uint8_t tx_port_id,
> +		const struct rte_event_port_conf p_conf)
> +{
<snip ... >
> +	/* Register Tx service */
> +	memset(&serv, 0, sizeof(struct rte_service_spec));
> +	snprintf(serv.name, sizeof(serv.name), "Tx_service");
> +
> +	if (evt_has_burst_mode(opt->dev_id))
> +		serv.callback = pipeline_event_tx_burst_service_func;
> +	else
> +		serv.callback = pipeline_event_tx_service_func;
> +
> +	serv.callback_userdata = (void *)tx;
> +	ret = rte_service_component_register(&serv, &tx->service_id);
> +	if (ret) {
> +		evt_err("failed to register Tx service");
> +		return ret;
> +	}
> +
> +	ret = evt_service_setup(tx->service_id);
> +	if (ret) {
> +		evt_err("Failed to setup service core for Tx service\n");
> +		return ret;
> +	}
> +
> +	rte_service_runstate_set(tx->service_id, 1);


It looks like the code above never sets the "component runstate" to indicate that the TX service itself is in a runnable state.

This setting of the runstate is performed later in the setup process, when launching cores.



More information about the dev mailing list