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
