Hi Rajesh, Thanks for your response. I appreciate the clarification regarding rte_eal_init() and core binding. I have some follow-up questions regarding the behaviour difference between RHEL7 and RHEL8. 1. Why does the same rte_eal_init() configuration behave differently on RHEL7 vs. RHEL8? * In RHEL7, CPU binding works as expected, but in RHEL8, the application always binds to core 1. What could be causing this difference? 2. Process vs. DPDK Core Assignment: * My goal is to assign DPDK to run on core 1 while the rest of the process threads are pinned using numactl. * Does rte_eal_init() interfere with CPU affinity settings applied through numactl? 3. Effect of Not Specifying a Core in rte_eal_init(): * What happens if we don’t specify a core mask (-c option) during rte_eal_init()? * Will DPDK inherit the core binding from numactl, or does it select cores dynamically? 4. Does rte_eal_init() override numactl settings? * If numactl is used to pin the application to specific cores, does rte_eal_init() override that and reset core affinity? Your insights on these questions would be very helpful. Thanks again for your time and support! Regards, Rashi Agarwal. From: Rajesh Kumar Sent: Wednesday, February 26, 2025 4:27 PM To: Rashi Agarwal Cc: users@dpdk.org Subject: Re: CPU Affinity Not Working in RHEL8 with DPDK 20.05 Caution :External Hi Rashi, Please change the argument to rte_eal_init (), in your code, -c 0x2 will always bind it to 1st core . Change it to "-c", "0x30" for pinning core 4 and 5. int dpdk_argc = 8; char *dpdk_argv[] = { procName, "-c", "0x2", "--no-huge", filePrefix ,"-m","64" , "--log-level=eal,8"}; Thanks, -Rajesh On Wed, Feb 26, 2025 at 10:25 AM Rashi Agarwal > wrote: Hi DPDK Community, I am facing an issue where CPU affinity is not working as expected in RHEL8 with DPDK 20.05, while it works fine in RHEL7. Problem Statement: • When running my program with numactl -C4,5 ./testRTE on RHEL7, the worker threads correctly bind to the assigned cores. • However, on RHEL8, the worker threads always bind to core 1, ignoring the specified CPU set. Environment Details: * DPDK Version: 20.05.0 * OS: RHEL8 (Issue) | RHEL7 (Works Fine) * CPU Affinity Tool: numactl -C Sample Program: Attached Observations: * In RHEL7, worker threads correctly bind to cores specified using numactl -C. * In RHEL8, the threads always bind to core 1, ignoring the CPU set. * Could DPDK be overriding the CPU affinity in RHEL8? Questions: 1. Is there any known change in CPU affinity handling between RHEL7 and RHEL8 affecting DPDK? 2. Does DPDK override thread affinity when rte_eal_init() is called? 3. Is there any workaround or EAL flag to ensure that CPU affinity is respected? Any insights or suggestions would be greatly appreciated. Thanks, Rashi Agarwal.