DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: thomas@monjalon.net, frode.nordahl@canonical.com,
	mattias.ronnblom@ericsson.com, anatoly.burakov@intel.com
Subject: [PATCH v2 0/5] Defer lcore variables allocation
Date: Tue, 17 Dec 2024 09:59:47 +0100	[thread overview]
Message-ID: <20241217085954.3310414-1-david.marchand@redhat.com> (raw)
In-Reply-To: <20241205175754.1673888-1-david.marchand@redhat.com>

As I had reported in rc2, the lcore variables allocation have a
noticeable impact on applications consuming DPDK, even when such
applications does not use DPDK, or use features associated to
some lcore variables.

While the amount has been reduced in a rush before rc2,
there are still cases when the increased memory footprint is noticed
like in scaling tests.
See https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/2090931


lcore variable allocations in constructor is a bad idea, as the
application consuming DPDK has no control over such allocation:
linking some code does not mean that all of it will be used at runtime.

The general question on whether lcore variables in constructor should
be forbidden, is left to a later discussion.

For now, this series only focus on fixing subsystems using lcore
variables so that those allocations are deferred either in rte_eal_init()
or in the path that does require such lcore variables.


-- 
David Marchand

Changes since v1:
- added a check on lcore handle,
- fixed lcore variable size in lib/power,
- renamed/introduced allocation helpers,


David Marchand (5):
  eal: check lcore variable handle
  random: defer seeding to EAL init
  power: defer lcore variable allocation
  power: reduce memory footprint of per-lcore state
  eal/x86: defer power intrinsics variable allocation

 lib/eal/common/eal_private.h       |  6 ++++++
 lib/eal/common/rte_random.c        |  7 +++++--
 lib/eal/freebsd/eal.c              |  2 ++
 lib/eal/include/rte_lcore_var.h    |  2 ++
 lib/eal/linux/eal.c                |  2 ++
 lib/eal/windows/eal.c              |  2 ++
 lib/eal/x86/rte_power_intrinsics.c | 15 +++++++++++++--
 lib/power/rte_power_pmd_mgmt.c     | 29 ++++++++++++++++++++---------
 8 files changed, 52 insertions(+), 13 deletions(-)

-- 
2.47.0


  parent reply	other threads:[~2024-12-17  9:00 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-05 17:57 [PATCH 0/3] " David Marchand
2024-12-05 17:57 ` [PATCH 1/3] random: defer seeding to EAL init David Marchand
2024-12-06 11:09   ` Mattias Rönnblom
2024-12-16  9:38   ` Burakov, Anatoly
2024-12-05 17:57 ` [PATCH 2/3] power: defer lcore variable allocation David Marchand
2024-12-06 11:29   ` Mattias Rönnblom
2024-12-12  7:57     ` David Marchand
2024-12-13  6:58       ` Mattias Rönnblom
2024-12-16 10:02         ` David Marchand
2024-12-05 17:57 ` [PATCH 3/3] eal/x86: defer power intrinsics " David Marchand
2024-12-06 11:32   ` Mattias Rönnblom
2024-12-06 11:01 ` [PATCH 0/3] Defer lcore variables allocation Mattias Rönnblom
2024-12-06 15:55   ` Thomas Monjalon
2024-12-10 17:09     ` Stephen Hemminger
2024-12-09 11:03   ` David Marchand
2024-12-09 15:39     ` Mattias Rönnblom
2024-12-09 17:40       ` David Marchand
2024-12-10  9:41         ` Mattias Rönnblom
2024-12-16 10:01           ` Burakov, Anatoly
2024-12-16  9:42 ` Burakov, Anatoly
2024-12-16  9:49   ` David Marchand
2024-12-17  9:06     ` David Marchand
2024-12-18 20:10     ` Mattias Rönnblom
2024-12-17  8:59 ` David Marchand [this message]
2024-12-17  8:59   ` [PATCH v2 1/5] eal: check lcore variable handle David Marchand
2024-12-18 11:18     ` Burakov, Anatoly
2024-12-17  8:59   ` [PATCH v2 2/5] random: defer seeding to EAL init David Marchand
2024-12-18 16:35     ` Stephen Hemminger
2024-12-18 17:03       ` Mattias Rönnblom
2024-12-17  8:59   ` [PATCH v2 3/5] power: defer lcore variable allocation David Marchand
2024-12-18 11:17     ` Burakov, Anatoly
2024-12-17  8:59   ` [PATCH v2 4/5] power: reduce memory footprint of per-lcore state David Marchand
2024-12-18 11:17     ` Burakov, Anatoly
2024-12-17  8:59   ` [PATCH v2 5/5] eal/x86: defer power intrinsics variable allocation David Marchand
2024-12-18 11:17     ` Burakov, Anatoly

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=20241217085954.3310414-1-david.marchand@redhat.com \
    --to=david.marchand@redhat.com \
    --cc=anatoly.burakov@intel.com \
    --cc=dev@dpdk.org \
    --cc=frode.nordahl@canonical.com \
    --cc=mattias.ronnblom@ericsson.com \
    --cc=thomas@monjalon.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).