[PATCH v16 0/8] Lcore variables
Mattias Rönnblom
mattias.ronnblom at ericsson.com
Wed Oct 23 09:52:54 CEST 2024
This patch set introduces a new API <rte_lcore_var.h> for static
per-lcore id memory allocation.
Lcore variables are designed to replace static lcore id-indexed arrays
and thread-local storage.
Refer to the programmer's guide for a rationale and comparison with
alternatives.
Mattias Rönnblom (8):
eal: add static per-lcore memory allocation facility
eal: add lcore variable functional tests
eal: add lcore variable performance test
eal: add lcore variables' programmer's guide
random: keep PRNG state in lcore variable
power: keep per-lcore state in lcore variable
service: keep per-lcore state in lcore variable
eal: keep per-lcore power intrinsics state in lcore variable
MAINTAINERS | 6 +
app/test/meson.build | 2 +
app/test/test_lcore_var.c | 432 ++++++++++++++
app/test/test_lcore_var_perf.c | 256 ++++++++
config/rte_config.h | 1 +
doc/api/doxy-api-index.md | 1 +
.../prog_guide/env_abstraction_layer.rst | 43 +-
.../prog_guide/img/lcore_var_mem_layout.svg | 310 ++++++++++
.../img/static_array_mem_layout.svg | 278 +++++++++
doc/guides/prog_guide/index.rst | 1 +
doc/guides/prog_guide/lcore_var.rst | 548 ++++++++++++++++++
doc/guides/rel_notes/release_24_11.rst | 14 +
lib/eal/common/eal_common_lcore_var.c | 112 ++++
lib/eal/common/eal_lcore_var.h | 11 +
lib/eal/common/meson.build | 1 +
lib/eal/common/rte_random.c | 28 +-
lib/eal/common/rte_service.c | 116 ++--
lib/eal/freebsd/eal.c | 2 +
lib/eal/include/meson.build | 1 +
lib/eal/include/rte_lcore_var.h | 207 +++++++
lib/eal/linux/eal.c | 2 +
lib/eal/version.map | 1 +
lib/eal/x86/rte_power_intrinsics.c | 17 +-
lib/power/rte_power_pmd_mgmt.c | 35 +-
24 files changed, 2333 insertions(+), 92 deletions(-)
create mode 100644 app/test/test_lcore_var.c
create mode 100644 app/test/test_lcore_var_perf.c
create mode 100644 doc/guides/prog_guide/img/lcore_var_mem_layout.svg
create mode 100644 doc/guides/prog_guide/img/static_array_mem_layout.svg
create mode 100644 doc/guides/prog_guide/lcore_var.rst
create mode 100644 lib/eal/common/eal_common_lcore_var.c
create mode 100644 lib/eal/common/eal_lcore_var.h
create mode 100644 lib/eal/include/rte_lcore_var.h
--
2.43.0
More information about the dev
mailing list