<div dir="auto">Can you share output of lscpu and command you are using to execute the app?<br clear="all"><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><font face="georgia, serif" style="font-family:georgia,serif;color:rgb(53,28,117)">.</font><div><font face="georgia, serif" style="font-family:georgia,serif;color:rgb(53,28,117)"><br></font></div><div><font face="georgia, serif" style="font-family:georgia,serif;color:rgb(53,28,117)">Regards,</font></div><div><font face="georgia, serif" style="font-family:georgia,serif;color:rgb(53,28,117)">Nishant Verma</font></div></div></div></div></div><div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 23, 2024 at 7:17 PM amit sehas <<a href="mailto:cun23@yahoo.com">cun23@yahoo.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Thanks for the responses, this is on AWS, which is utilizing Xeon with hyperthreading. Not utilizing hyperthreading is not an option.<br>
<br>
After trying a few things i am narrowing down on the following approach:<br>
<br>
only for the critical threads we could utilize: rte_thread_set_priority to RTE_THREAD_PRIORITY_REALTIME_CRITICAL<br>
<br>
however this API requires a rte_thread_t parameter, if we utilize rte_eal_remote_launch, we are not provided with this parameter.<br>
I am searching through the code to see if there is an API where i can obtain the rte_thread_t for the current thread that was launched with rte_eal_remote_launch.<br>
<br>
regards<br>
<br>
<br>
<br>
<br>
<br>
<br>
On Monday, September 23, 2024 at 03:18:11 PM PDT, Nishant Verma <<a href="mailto:vnish11@gmail.com" target="_blank">vnish11@gmail.com</a>> wrote: <br>
<br>
<br>
<br>
<br>
<br>
Also make sure all core you are using are physical core not the logical core. <br>
Secondly, check your core isolation options and apply them accordingly.<br>
<br>
<br>
.<br>
<br>
Regards,<br>
Nishant Verma<br>
<br>
<br>
On Mon, Sep 23, 2024 at 6:04 PM Wisam Jaddo <<a href="mailto:wisamm@nvidia.com" target="_blank">wisamm@nvidia.com</a>> wrote:<br>
> Hello Amit,<br>
> <br>
>> -----Original Message-----<br>
>> From: amit sehas <<a href="mailto:cun23@yahoo.com" target="_blank">cun23@yahoo.com</a>><br>
>> Sent: Monday, September 23, 2024 11:57 PM<br>
>> To: <a href="mailto:users@dpdk.org" target="_blank">users@dpdk.org</a><br>
>> Subject: core performance<br>
>> <br>
>> We are seeing different dpdk threads (launched via rte_eal_remote_launch()),<br>
>> demonstrate very different performance.<br>
>> <br>
>> <br>
>> <br>
>> After placing counters all over the code, we realize that some threads are<br>
>> uniformly slow, in other words there is no application level issue that is<br>
>> throttling one thread over the other. We come to the conculsion that either<br>
>> the Cores on which they are running are not at the same frequency which<br>
>> seems doubtful or the threads are not getting a chance to execute on the cores<br>
>> uniformly.<br>
>> <br>
>> <br>
>> <br>
>> It seems that isolcpus has been deprecated in recent versions of linux.<br>
>> <br>
>> <br>
>> <br>
>> What is the recommended approach to prevent the kernel from utilizing some<br>
>> CPU threads, for anything other than the threads that are launched on them.<br>
> <br>
> If you are wishing to run each thread on separate core, try to use rte_eal_mp_remote_launch()<br>
> instead of rte_eal_remote_launch(), make sure that your CPU is isolated, and you are passing correct<br>
> Cores that were isolated to your app using -c, -l.<br>
> <br>
> <br>
>> <br>
>> <br>
>> <br>
>> Is there some API in dpdk which also helps us determine which CPU core the<br>
>> thread is pinned to?<br>
>> <br>
>> I did not find any code in dpdk which actually performed pinning of a thread to<br>
>> a CPU core.<br>
>> <br>
>> <br>
>> <br>
>> In our case it is more or less certain that the different threads are simply not<br>
>> getting the same CPU core time, as a result some are demonstrating higher<br>
>> throughput than the others ...<br>
>> <br>
>> <br>
>> <br>
>> how do we fix this?<br>
> <br>
> BRs,<br>
> Wisam Jaddo<br>
> <br>
<br>
</blockquote></div></div>