DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Morten Brørup" <mb@smartsharesystems.com>
To: "Bruce Richardson" <bruce.richardson@intel.com>,
	"Stephen Hemminger" <stephen@networkplumber.org>
Cc: <dev@dpdk.org>, <david.marchand@redhat.com>
Subject: RE: [PATCH v3 1/4] eal: deprecate old coremask-based EAL parameters
Date: Sat, 3 May 2025 08:09:20 +0200	[thread overview]
Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9FC27@smartserver.smartshare.dk> (raw)
In-Reply-To: <aBTsKvlL_Uw-G2wH@bricha3-mobl1.ger.corp.intel.com>

> From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> Sent: Friday, 2 May 2025 18.01
> 
> On Fri, May 02, 2025 at 08:51:22AM -0700, Stephen Hemminger wrote:
> > On Fri,  2 May 2025 16:11:31 +0100
> > Bruce Richardson <bruce.richardson@intel.com> wrote:
> >
> > > As the number of cores/cpus on platforms has increased over the
> years,
> > > the use of coremasks rather than core-lists for identifying DPDK
> cores
> > > has become more and more unwieldy. At this point, let's deprecate
> the
> > > coremask-based EAL parameters for future removal, and point users
> to the
> > > core-list based versions instead.
> > >
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> >
> > Agree.
> >
> > There are some more syntax options on Linux kernel command line:
> > https://github.com/torvalds/linux/blob/master/Documentation/admin-
> guide/kernel-parameters.rst#cpu-lists
> >
> > cpu lists
> > Some kernel parameters take a list of CPUs as a value, e.g. isolcpus,
> nohz_full, irqaffinity, rcu_nocbs. The format of this list is:
> >
> > <cpu number>,...,<cpu number>
> > or
> >
> > <cpu number>-<cpu number> (must be a positive range in ascending
> order)
> > or a mixture
> >
> > <cpu number>,...,<cpu number>-<cpu number>
> >
> 
> This we already support.
> 
> > Note that for the special case of a range one can split the range
> into equal sized groups and for each group use some amount from the
> beginning of that group:
> >
> > <cpu number>-<cpu number>:<used size>/<group size>
> > For example one can add to the command line following parameter:
> >
> > isolcpus=1,2,10-20,100-2000:2/25
> > where the final item represents CPUs 100,101,125,126,150,151,...
> >
> > The value "N" can be used to represent the numerically last CPU on
> the system, i.e "foo_cpus=16-N" would be equivalent to "16-31" on a 32
> core system.
> >
> > Keep in mind that "N" is dynamic, so if system changes cause the
> bitmap width to change, such as less cores in the CPU list, then N and
> any ranges using N will also change. Use the same on a small 4 core
> system, and "16-N" becomes "16-3" and now the same boot input will be
> flagged as invalid (start > end).
> >
> > The special case-tolerant group name "all" has a meaning of selecting
> all CPUs, so that "nohz_full=all" is the equivalent of "nohz_full=0-N".
> >
> > The semantics of "N" and "all" is supported on a level of bitmaps and
> holds for all users of bitmap_parselist().
> >
> 
> Those would be good/interesting extensions to have, if someone wants to
> add
> them to EAL. Hopefully after this patchset, adding them should be
> easier as
> I think we should only have one place in EAL where we parse groups like
> that:
> "eal_parse_set()" function.

Yes, such a syntax parser can be added later.

In the Kernel, it's a generic parser for fixed length bit arrays.
I could imagine using it for other purposes than CPUs, e.g. VLANs or ports.

The "N" feature is *must have* in the Kernel, where it's used for Kernel boot parameters, set before any script to determine the number of CPUs on the system can be run.
That's not the case with EAL parameters, where "N" and "all" only would be *nice to have*.


  reply	other threads:[~2025-05-03  6:09 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-13 11:38 [RFC PATCH 0/3] allow easier use of high lcore-ids Bruce Richardson
2025-03-13 11:38 ` [RFC PATCH 1/3] eal: centralize core parameter parsing Bruce Richardson
2025-03-13 11:38 ` [RFC PATCH 2/3] eal: convert core masks and lists to core sets Bruce Richardson
2025-03-13 11:38 ` [RFC PATCH 3/3] eal: allow automatic mapping of high lcore ids Bruce Richardson
2025-03-24 17:30 ` [PATCH v2 0/3] allow easier use of high lcore-ids Bruce Richardson
2025-03-24 17:30   ` [PATCH v2 1/3] eal: centralize core parameter parsing Bruce Richardson
2025-04-07  6:58     ` David Marchand
2025-03-24 17:30   ` [PATCH v2 2/3] eal: convert core masks and lists to core sets Bruce Richardson
2025-04-07  6:59     ` David Marchand
2025-03-24 17:30   ` [PATCH v2 3/3] eal: allow automatic mapping of high lcore ids Bruce Richardson
2025-04-01 14:06   ` [PATCH v2 0/3] allow easier use of high lcore-ids Bruce Richardson
2025-04-07  7:04     ` David Marchand
2025-04-07  9:48       ` Bruce Richardson
2025-04-07 10:15         ` Morten Brørup
2025-04-07 10:40           ` Bruce Richardson
2025-04-07 11:32             ` Morten Brørup
2025-04-07 11:56               ` Bruce Richardson
2025-04-07 12:25                 ` Morten Brørup
2025-04-07 12:41                   ` Bruce Richardson
2025-04-07 13:18                     ` Morten Brørup
2025-04-07 13:24                       ` Bruce Richardson
2025-04-07 15:14           ` Stephen Hemminger
2025-04-07 15:38             ` Bruce Richardson
2025-05-02 15:11 ` [PATCH v3 0/4] rework and expand EAL lcore options Bruce Richardson
2025-05-02 15:11   ` [PATCH v3 1/4] eal: deprecate old coremask-based EAL parameters Bruce Richardson
2025-05-02 15:51     ` Stephen Hemminger
2025-05-02 16:00       ` Bruce Richardson
2025-05-03  6:09         ` Morten Brørup [this message]
2025-05-02 15:11   ` [PATCH v3 2/4] eal: merge corelist and core mapping options Bruce Richardson
2025-05-02 15:11   ` [PATCH v3 3/4] doc: provide examples of using lcores EAL parameter Bruce Richardson
2025-05-02 15:11   ` [PATCH v3 4/4] eal: add option for auto-mapping cpu ids to low lcore ids Bruce Richardson

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=98CBD80474FA8B44BF855DF32C47DC35E9FC27@smartserver.smartshare.dk \
    --to=mb@smartsharesystems.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=stephen@networkplumber.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).