DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Juraj Linkeš" <juraj.linkes@pantheon.tech>
To: "Gaëtan Rivet" <grive@u256.net>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Minimun value of RTE_MAX_LCORE
Date: Thu, 15 Oct 2020 12:14:26 +0000	[thread overview]
Message-ID: <4474db830fc14c3e9c5487e37dd5a2a3@pantheon.tech> (raw)
In-Reply-To: <20201015113050.etp277lf4q6qrtko@u256.net>



> -----Original Message-----
> From: Gaëtan Rivet <grive@u256.net>
> Sent: Thursday, October 15, 2020 1:31 PM
> To: Juraj Linkeš <juraj.linkes@pantheon.tech>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] Minimun value of RTE_MAX_LCORE
> 
> On 15/10/20 10:49 +0000, Juraj Linkeš wrote:
> > Hi dpdk devs,
> >
> > Is there a constraint on how low RTE_MAX_LCORE can be? I'm implementing a
> discovery mechanism that sets RTE_MAX_LCORE according to the number of
> host cores, but I'm hitting errors when the values are low:
> > https://travis-ci.com/github/jlinkes/dpdk/jobs/399596828
> > Message: Found 2
> > cores
> > Message: Found 1
> > numa nodes
> >
> > ../app/test/test_rcu_qsbr.c:296:54: error: iteration 2 invokes
> > undefined behavior [-Werror=aggressive-loop-optimizations]
> >
> > ../app/test/test_rcu_qsbr.c:315:55: error: array subscript is above
> > array bounds [-Werror=array-bounds]
> >
> > All VM jobs failed in that Travis build. Travis VMs only have 2 cores, so I tried to
> put a bound on the build. I set it to 4 and all jobs except GCC shared lib jobs
> passed, which still threw iteration 4 invokes undefined behavior error:
> > https://travis-ci.com/github/jlinkes/dpdk/jobs/400004089
> >
> > ../examples/performance-thread/l3fwd-thread/main.c:2338:34: error:
> > iteration 4 invokes undefined behavior
> > [-Werror=aggressive-loop-optimizations]
> >
> > This happens for number of cores < 32 and looks like a limitation unique to
> l3fwd (with cores between 4 and 32 - I didn't see the error elsewhere).
> >
> > Should I use the bound or are these legitimate errors? The fact that only GCC
> (and not clang) shared lib jobs failed is also suspicious.
> >
> > Thanks,
> > Juraj
> >
> 
> Hi,
> 
> I can see a CPU config setting it to 4, so it might be a valid value.
> Not sure it would be the lower bound though.
> 
> However, I think the issue you get here shows why your discovery mechanism is
> not great.  Most of the time, DPDK applications are not built on their target
> machine: either due to CI (like your issue), automatic packaging, cross-
> compilation for smartNIC, etc.
> 

It's not supposed to be great, just be a more sensible default for native builds. Users can still specify the cores on the command line if they like. Or do the default build (which will use predefined values).

> Platforms that would benefit from your discovery mechanism will define
> RTE_MAX_LCORE explicitly, e.g. in config/arm/meson.build, line 34 and further.
> 

I'm not sure what you mean. If they define it explicitly, then they can't benefit from the discoreved values. What we're exploring is using the discovered values for native builds and moving the statically defined RTE_MAX_LCORE and RTE_MAX_NUMA_NODES to cross files. Then we'll have native builds which better match the build machine and if anyone wants the target to be a particular SoC, they can use a cross file.

> Regards,
> --
> Gaëtan


  reply	other threads:[~2020-10-15 12:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-15 10:49 Juraj Linkeš
2020-10-15 11:15 ` Bruce Richardson
2020-10-15 11:30 ` Gaëtan Rivet
2020-10-15 12:14   ` Juraj Linkeš [this message]
2020-10-16  6:06     ` Honnappa Nagarahalli

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=4474db830fc14c3e9c5487e37dd5a2a3@pantheon.tech \
    --to=juraj.linkes@pantheon.tech \
    --cc=dev@dpdk.org \
    --cc=grive@u256.net \
    /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).