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 v3 0/5] Defer lcore variables allocation
Date: Mon, 10 Feb 2025 22:31:53 +0100 [thread overview]
Message-ID: <20250210213158.4165701-1-david.marchand@redhat.com> (raw)
In-Reply-To: <20241205175754.1673888-1-david.marchand@redhat.com>
As I had reported in 24.11-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 v2:
- added assert in rte_s?rand(),
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 | 12 +++++++++---
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, 56 insertions(+), 14 deletions(-)
--
2.48.1
next prev parent reply other threads:[~2025-02-10 21:32 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-05 17:57 [PATCH 0/3] Defer lcore variables allocation 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 ` [PATCH v2 0/5] " David Marchand
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
2024-12-19 16:19 ` [PATCH v2 0/5] Defer lcore variables allocation Frode Nordahl
2025-02-10 21:31 ` David Marchand [this message]
2025-02-10 21:31 ` [PATCH v3 1/5] eal: check lcore variable handle David Marchand
2025-02-10 21:31 ` [PATCH v3 2/5] random: defer seeding to EAL init David Marchand
2025-02-10 21:31 ` [PATCH v3 3/5] power: defer lcore variable allocation David Marchand
2025-02-10 21:31 ` [PATCH v3 4/5] power: reduce memory footprint of per-lcore state David Marchand
2025-02-10 21:31 ` [PATCH v3 5/5] eal/x86: defer power intrinsics variable allocation David Marchand
2025-02-11 13:01 ` [PATCH v3 0/5] Defer lcore variables allocation David Marchand
2025-02-12 0:47 ` fengchengwen
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=20250210213158.4165701-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.