[dpdk-dev] [PATCH] examples/eventdev: move eth stop to the end

Van Haaren, Harry harry.van.haaren at intel.com
Mon Dec 21 10:56:33 CET 2020


> -----Original Message-----
> From: Feifei Wang <feifei.wang2 at arm.com>
> Sent: Monday, December 21, 2020 5:35 AM
> To: Van Haaren, Harry <harry.van.haaren at intel.com>; Rao, Nikhil
> <nikhil.rao at intel.com>; Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> Cc: dev at dpdk.org; nd at arm.com; Feifei Wang <feifei.wang2 at arm.com>;
> pbhagavatula at marvell.com; stable at dpdk.org
> Subject: [PATCH] examples/eventdev: move eth stop to the end

Suggested title improvement?
examples/eventdev_pipeline: refactor ethdev port stop

> Move eth stop code from "signal_handler" function to the end of "main"
> function. There are two reasons for this:
> 
> First, this improves code maintenance and makes code look simple and clear.
> Based on this change, after receiving the interrupt signal, "fdata->done"
> is set as 1. Then the main thread will wait all worker lcores to jump out
> of the loop. Finally, the main thread will stop and then close eth dev port.
> 
> Second, for older version, the main thread first stops eth dev port and then
> waits the end of worker lcore. This may cause errors because it may stop the
> eth dev port which worker lcores are using. This moving change can fix this
> by waiting all worker threads to exit and then stop the eth dev port.

I'm OK with the above changes, and agree that moving eth dev port close to
after lcores return is a worthy change.

> In the meanwhile, remove wmb in signal_handler.
> 
> This is because when the main lcore receive the stop signal, it stores 1
> into fdata->done. And then the worker lcores load "fdata->done" and jump out
> of the loop to stop running. Nothing should be stored after updating
> fdata->done, so the wmb is unnecessary.
>
> Fixes: 085edac2ca38 ("examples/eventdev_pipeline: support Tx adapter")
> Cc: pbhagavatula at marvell.com
> Cc: stable at dpdk.org
> 
> Suggested-by: Ruifeng Wang <ruifeng.wang at arm.com>
> Signed-off-by: Feifei Wang <feifei.wang2 at arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang at arm.com>
> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>

+Cc Jerin for Eventdev tree;
-Cc Pavan's old email address

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


More information about the dev mailing list