On 5/17/26 9:01 AM, Salem Sol wrote: > Currently, OVS Userspace strictly pins PMD threads to specific cores. > In high-demand environments where customers fully utilize their CPUs, > having cores locked at 100% solely for PMD reduces the system's > ability to handle other workloads efficiently. >
Hi, I'm looking for the motivation for the patch and I think there are a few items being bundled together so it's worth separating to understand the use case. 1. Cores with PMD threads being isolated from running other tasks The only thing that stops Linux scheduling other tasks on cores where PMD threads run is having those cores isolated on the system. This is not an OVS setting, so there is no need to change anything OVS for this. But isn't it a concern for you of extra latency or packet loss at high rates that might be introduced to packets on your datapath by other tasks running on those cores ? 2. PMD threads running on a single core PMD threads are run on a single core. I'm not sure what the concern is here. Moving them around cores a lot will impact core local OVS sw caches, maybe some stats etc. If you don't isolate the cores then Linux will presumably schedule other items away from the core running the PMD thread that is at 100%. Yes, it's true that Linux won't move the PMD thread itself but I'm not sure that's a bad thing. 3. PMD threads running at 100% when they don't need to be That is the default but also a user choice. There are pmd-sleep-* options that will add some sleeps to reduce the load on a core in the event of no or low packet rates etc. If you did want to schedule other tasks on the core, then they could run. 4. Which cores the PMD threads can run on That can be currently selected with pmd-cpu-mask, and there is already consideration for NUMA when it comes to which rxqs those PMD thread can poll. So if you want to say all the cores can be used to run PMD threads, that can currently be done, just set the mask. - Is there some use case that is not covered by the above ? How would you protect against latency/packet loss in the datapath by scheduling other tasks on the same core as PMD threads or that is not a concern for you ? Seeing if there is something else running on the PMD thread core is usually one of the first things to check if there is a latency or packet loss issue. thanks, Kevin. > Add an option to remove pmd pinning. > > Salem Sol (1): > dpif-netdev: Add pmd-no-pin option for PMD affinity. > > lib/dpif-netdev.c | 29 ++++++++++++++++++++++++++--- > vswitchd/vswitch.xml | 14 ++++++++++++++ > 2 files changed, 40 insertions(+), 3 deletions(-) > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
