[dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev after eth adapter setup
Rao, Nikhil
nikhil.rao at intel.com
Wed Mar 13 14:10:01 CET 2019
> -----Original Message-----
> From: Pavan Nikhilesh Bhagavatula [mailto:pbhagavatula at marvell.com]
> Sent: Wednesday, March 13, 2019 2:11 AM
> To: Jerin Jacob Kollanukkaran <jerinj at marvell.com>; Van Haaren, Harry
> <harry.van.haaren at intel.com>; Rao, Nikhil <nikhil.rao at intel.com>; Carrillo,
> Erik G <erik.g.carrillo at intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar at intel.com>; Mcnamara, John
> <john.mcnamara at intel.com>
> Cc: dev at dpdk.org; Pavan Nikhilesh Bhagavatula
> <pbhagavatula at marvell.com>
> Subject: [dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev after
> eth adapter setup
>
> From: Pavan Nikhilesh <pbhagavatula at marvell.com>
>
> Start ethdev after the Rx/Tx adapter setup is complete as in some
> architectures it might lead to undefined behaviour or events being dropped.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
> ---
> v3 Changes:
> - add the same changes in examples/eventdev_pipeline
>
> examples/eventdev_pipeline/main.c | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/examples/eventdev_pipeline/main.c
> b/examples/eventdev_pipeline/main.c
> index 92e08bc0c..22ea75e7b 100644
> --- a/examples/eventdev_pipeline/main.c
> +++ b/examples/eventdev_pipeline/main.c
> @@ -316,11 +316,6 @@ port_init(uint8_t port, struct rte_mempool
> *mbuf_pool)
> return retval;
> }
>
> - /* Start the Ethernet port. */
> - retval = rte_eth_dev_start(port);
> - if (retval < 0)
> - return retval;
> -
> /* Display the port MAC address. */
> struct ether_addr addr;
> rte_eth_macaddr_get(port, &addr);
> @@ -440,6 +435,7 @@ main(int argc, char **argv) {
> struct worker_data *worker_data;
> uint16_t num_ports;
> + uint16_t portid;
> int lcore_id;
> int err;
>
> @@ -507,6 +503,14 @@ main(int argc, char **argv)
> init_ports(num_ports);
> fdata->cap.adptr_setup(num_ports);
>
> + /* Start the Ethernet port. */
> + RTE_ETH_FOREACH_DEV(portid) {
> + err = rte_eth_dev_start(portid);
> + if (err < 0)
> + rte_exit(EXIT_FAILURE, "Error starting ethdev %d\n",
> + portid);
> + }
> +
Reviewed-by: Nikhil Rao <nikhil.rao at intel.com>
> int worker_idx = 0;
> RTE_LCORE_FOREACH_SLAVE(lcore_id) {
> if (lcore_id >= MAX_NUM_CORE)
> --
> 2.21.0
More information about the dev
mailing list