Can you share output of lscpu and command you are using to execute the app?

.

Regards,
Nishant Verma


On Mon, Sep 23, 2024 at 7:17 PM amit sehas <cu...@yahoo.com> wrote:

> Thanks for the responses, this is on AWS, which is utilizing Xeon with
> hyperthreading. Not utilizing hyperthreading is not an option.
>
> After trying a few things i am narrowing down on the following approach:
>
> only for the critical threads we could utilize:  rte_thread_set_priority
> to RTE_THREAD_PRIORITY_REALTIME_CRITICAL
>
> however this API requires a rte_thread_t parameter, if we utilize
> rte_eal_remote_launch, we are not provided with this parameter.
> 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.
>
> regards
>
>
>
>
>
>
> On Monday, September 23, 2024 at 03:18:11 PM PDT, Nishant Verma <
> vnis...@gmail.com> wrote:
>
>
>
>
>
> Also make sure all core you are using are physical core not the logical
> core.
> Secondly, check your core isolation options and apply them accordingly.
>
>
> .
>
> Regards,
> Nishant Verma
>
>
> On Mon, Sep 23, 2024 at 6:04 PM Wisam Jaddo <wis...@nvidia.com> wrote:
> > Hello Amit,
> >
> >> -----Original Message-----
> >> From: amit sehas <cu...@yahoo.com>
> >> Sent: Monday, September 23, 2024 11:57 PM
> >> To: users@dpdk.org
> >> Subject: core performance
> >>
> >> We are seeing different dpdk threads (launched
> via rte_eal_remote_launch()),
> >> demonstrate very different performance.
> >>
> >>
> >>
> >> After placing counters all over the code, we realize that some threads
> are
> >> uniformly slow, in other words there is no application level issue that
> is
> >> throttling one thread over the other. We come to the conculsion that
> either
> >> the Cores on which they are running are not at the same frequency which
> >> seems doubtful or the threads are not getting a chance to execute on
> the cores
> >> uniformly.
> >>
> >>
> >>
> >> It seems that isolcpus has been deprecated in recent versions of linux.
> >>
> >>
> >>
> >> What is the recommended approach to prevent the kernel from utilizing
> some
> >> CPU threads, for anything other than the threads that are launched on
> them.
> >
> > If you are wishing to run each thread on separate core, try to use
> rte_eal_mp_remote_launch()
> > instead of rte_eal_remote_launch(), make sure that your CPU is isolated,
> and you are passing correct
> > Cores that were isolated to your app using -c, -l.
> >
> >
> >>
> >>
> >>
> >> Is there some API in dpdk which also helps us determine which CPU core
> the
> >> thread is pinned to?
> >>
> >> I did not find any code in dpdk which actually performed pinning of a
> thread to
> >> a CPU core.
> >>
> >>
> >>
> >> In our case it is more or less certain that the different threads are
> simply not
> >> getting the same CPU core time, as a result some are demonstrating
> higher
> >> throughput than the others ...
> >>
> >>
> >>
> >> how do we fix this?
> >
> > BRs,
> > Wisam Jaddo
> >
>
>

Reply via email to