On 11/10/21 17:53, David Marchand wrote:
> Previously in OVS, a PMD thread running on cpu X used lcore X.
> This assumption limited OVS to run PMD threads on physical cpu <
> RTE_MAX_LCORE.
> 
> DPDK 20.08 introduced a new API that associates a non-EAL thread to a free
> lcore. This new API does not change the thread characteristics (like CPU
> affinity) and let OVS run its PMD threads on any cpu regardless of
> RTE_MAX_LCORE.
> 
> The DPDK multiprocess feature is not compatible with this new API and is
> disabled.
> 
> DPDK still limits the number of lcores to RTE_MAX_LCORE (128 on x86_64)
> which should be enough for OVS pmd threads (hopefully).
> 
> DPDK lcore/OVS pmd threads mapping are logged at threads when trying to
> attach a OVS PMD thread, and when detaching.
> A new command is added to help get DPDK point of view of the DPDK lcores
> at any time:
> 
> $ ovs-appctl dpdk/lcore-list
> lcore 0, socket 0, role RTE, cpuset 0
> lcore 1, socket 0, role NON_EAL, cpuset 1
> lcore 2, socket 0, role NON_EAL, cpuset 15
> 
> Signed-off-by: David Marchand <[email protected]>
> Acked-by: Kevin Traynor <[email protected]>
> ---

Thanks, David, Kevin and Maxime!
I converted 'dpdk_initialized' variable to atomic_bool, since it's
now accessed from different threads, and applied the patch to master.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to