DPDK usage discussions
 help / color / mirror / Atom feed
From: Rashi Agarwal <Rashi.Agarwal@mobileum.com>
To: Rajesh Kumar <rajeshthepro@gmail.com>
Cc: "users@dpdk.org" <users@dpdk.org>
Subject: RE: CPU Affinity Not Working in RHEL8 with DPDK 20.05
Date: Thu, 27 Feb 2025 03:28:41 +0000	[thread overview]
Message-ID: <DM4PR14MB4862391AF2EAA3702B565D1F8DCD2@DM4PR14MB4862.namprd14.prod.outlook.com> (raw)
In-Reply-To: <CAA+jREQkCD4kiVSBY6qG1G43xRhypwTufQ+dCpBsftm5tuuegA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3095 bytes --]

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 <rajeshthepro@gmail.com>
Sent: Wednesday, February 26, 2025 4:27 PM
To: Rashi Agarwal <Rashi.Agarwal@mobileum.com>
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 <Rashi.Agarwal@mobileum.com<mailto:Rashi.Agarwal@mobileum.com>> 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.

[-- Attachment #2: Type: text/html, Size: 16816 bytes --]

      reply	other threads:[~2025-02-27  3:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-26  4:54 Rashi Agarwal
2025-02-26 10:56 ` Rajesh Kumar
2025-02-27  3:28   ` Rashi Agarwal [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM4PR14MB4862391AF2EAA3702B565D1F8DCD2@DM4PR14MB4862.namprd14.prod.outlook.com \
    --to=rashi.agarwal@mobileum.com \
    --cc=rajeshthepro@gmail.com \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).