On Wed, Oct 07, 2026 at 02:39:35PM -0700, Stephen Hemminger wrote:
> rte_lcore_var_alloc() was added in 24.11 and has not changed. The
> RTE_LCORE_VAR_* macros that form the public interface were never marked
> experimental, so the header carried a file level warning while the
> macros applications actually use looked stable.
>
> The API is used by rte_random, rte_service, the x86 power intrinsics and
> the power PMD management code. Promote the allocator and drop the file
> level warning.
>
> Signed-off-by: Stephen Hemminger <[email protected]>
> ---
Acked-by: Bruce Richardson <[email protected]>
See comment inline below though.
> doc/guides/rel_notes/release_26_11.rst | 4 ++++
> lib/eal/common/eal_common_lcore_var.c | 2 +-
> lib/eal/include/rte_lcore_var.h | 3 ---
> 3 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/doc/guides/rel_notes/release_26_11.rst
> b/doc/guides/rel_notes/release_26_11.rst
> index 934efaaf93..62e7df5728 100644
> --- a/doc/guides/rel_notes/release_26_11.rst
> +++ b/doc/guides/rel_notes/release_26_11.rst
> @@ -240,6 +240,10 @@ API Changes
> are now declared with an alignment of 1 on all architectures.
> The compiler may generate narrower loads and stores than before.
>
> +* eal: Promoted ``rte_memzero_explicit``, ``rte_free_sensitive``,
> + ``rte_basename``, ``rte_size_to_str`` and the lcore variables API
> + from experimental to stable.
> +
> * ethdev: Updated VMDq related API.
>
This would be better done as a bulleted list so it can be easily added to
by patches. Patch 2 of this set should start by adding to release note:
* Promoted the following APIs to stable:
- ``rte_basename`` in EAL
with the later patches adding a new bullet each time.
> * At port configuration time, the number of VMDq pools advertised by a
> driver
> diff --git a/lib/eal/common/eal_common_lcore_var.c
> b/lib/eal/common/eal_common_lcore_var.c
> index 8a7920ed0f..a2af0e19d8 100644
> --- a/lib/eal/common/eal_common_lcore_var.c
> +++ b/lib/eal/common/eal_common_lcore_var.c
> @@ -76,7 +76,7 @@ lcore_var_alloc(size_t size, size_t align)
> return handle;
> }
>
> -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_lcore_var_alloc, 24.11)
> +RTE_EXPORT_SYMBOL(rte_lcore_var_alloc)
> void *
> rte_lcore_var_alloc(size_t size, size_t align)
> {
> diff --git a/lib/eal/include/rte_lcore_var.h b/lib/eal/include/rte_lcore_var.h
> index 48b022e84e..2737ae947b 100644
> --- a/lib/eal/include/rte_lcore_var.h
> +++ b/lib/eal/include/rte_lcore_var.h
> @@ -15,8 +15,6 @@
> *
> * Please refer to the lcore variables' programmer's guide
> * for an overview of this API and its implementation.
> - *
> - * EXPERIMENTAL: this API may change, or be removed, without prior notice.
> */
>
> #include <stddef.h>
> @@ -199,7 +197,6 @@ rte_lcore_var_lcore(unsigned int lcore_id, void *handle)
> * The variable's handle, stored in a void pointer value.
> * The value is always non-NULL.
> */
> -__rte_experimental
> void *
> rte_lcore_var_alloc(size_t size, size_t align)
> __rte_alloc_align(2);
> --
> 2.53.0
>