DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Cc: Igor Gutorov <igootorov@gmail.com>,
	dev@dpdk.org, roretzla@linux.microsoft.com,
	Anatoly Burakov <anatoly.burakov@intel.com>
Subject: Re: eal: -n or -r options are ignored when --in-memory is used
Date: Wed, 4 Dec 2024 14:15:02 -0800	[thread overview]
Message-ID: <20241204141502.441fdb45@hermes.local> (raw)
In-Reply-To: <20241205005024.4ee732e6@sovereign>

On Thu, 5 Dec 2024 00:50:24 +0300
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote:

> Hi Igor,
> 
> 2024-10-23 02:25 (UTC+0300), Igor Gutorov:
> > I've noticed an issue of `rte_memory_get_nchannel()` or
> > `rte_memory_get_nrank()` always returning zero regardless of the -n or
> > -r options set.
> > 
> > I think this is due to `--in-memory` forcing `conf->no_shconf = 1`
> > [1], which leads to `rte_eal_memdevice_init()` never being executed
> > [2].
> > 
> > I do not fully understand the context of the code, but I can submit a
> > patch that simply removes the `internal_conf->no_shconf == 0` check in
> > `rte_eal_memory_init()` and so always calls
> > `rte_eal_memdevice_init()`. Would that be ok or is there a better way?
> > Alternatively, does `(internal_conf->no_shconf == 0 ||
> > internal_conf->in_memory == 1) && ...` make sense here?  
> 
> Well spotted! Yes, the check seems unneeded.
> 
> > And one more thing, the 9.1.4 section of the getting started guide
> > states that the number of memory ranks is auto-detected by default,
> > but I can't find any code that performs the auto-detection - am I
> > missing something, or is the documentation wrong here?  
> 
> The doc is clearly wrong.
> Git says this piece originates from TestPMD documentation,
> so maybe "auto-detected" refers to some defaults for mempools:

Doc should be reworded to some thing like "if not defined, reasonable default
values are used instead".  It is difficult to do auto-detection of memory layout
optimum spread. The Linux kernel provides no visible API for finding out;
and the only way I know is digging into DMI data (see dmidecode). But DMI
data is only readable as root, can be wrong, and doesn't really match in a cloud
environment.

      reply	other threads:[~2024-12-04 22:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-22 23:25 eal: -n or -r options are ignored when --in-memory is used Igor Gutorov
2024-12-04 21:50 ` Dmitry Kozlyuk
2024-12-04 22:15   ` Stephen Hemminger [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=20241204141502.441fdb45@hermes.local \
    --to=stephen@networkplumber.org \
    --cc=anatoly.burakov@intel.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=igootorov@gmail.com \
    --cc=roretzla@linux.microsoft.com \
    /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