From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Anatoly Burakov <anatoly.burakov@intel.com>,
Sivaprasad Tummala <sivaprasad.tummala@amd.com>
Subject: [PATCH 12/20] power: promote PM QoS and uncore API to stable
Date: Wed, 7 Oct 2026 14:39:42 -0700 [thread overview]
Message-ID: <20261007214115.3092715-13-stephen@networkplumber.org> (raw)
In-Reply-To: <20261007214115.3092715-1-stephen@networkplumber.org>
The PM QoS API (rte_power_qos_{set,get}_cpu_resume_latency) has been
experimental since 24.11, and the uncore environment and frequency list
functions (rte_power_{set,unset,get}_uncore_env, rte_power_uncore_freqs)
since 23.11.
These interfaces have not changed since they were introduced and the
rest of the uncore API is already stable, so promote them.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 7 +++++++
lib/power/rte_power_qos.c | 4 ++--
lib/power/rte_power_qos.h | 10 ----------
lib/power/rte_power_uncore.c | 8 ++++----
lib/power/rte_power_uncore.h | 5 -----
5 files changed, 13 insertions(+), 21 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index fad1a53e04..e9e9b1f6da 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -348,6 +348,13 @@ API Changes
functions in pipeline, the ``rte_swx_table_*`` symbols in table and
the ``rte_swx_port_*`` symbols in port.
+* power: Promoted the following API from experimental to stable:
+
+ * PM QoS: ``rte_power_qos_set_cpu_resume_latency`` and
+ ``rte_power_qos_get_cpu_resume_latency``
+ * uncore: ``rte_power_set_uncore_env``, ``rte_power_unset_uncore_env``,
+ ``rte_power_get_uncore_env`` and ``rte_power_uncore_freqs``
+
* reorder: Promoted the following API from experimental to stable:
``rte_reorder_seqn``, ``rte_reorder_drain_up_to_seqn``,
``rte_reorder_min_seqn_set`` and ``rte_reorder_memory_footprint_get``.
diff --git a/lib/power/rte_power_qos.c b/lib/power/rte_power_qos.c
index d8d8d36a76..3ecfcc54fa 100644
--- a/lib/power/rte_power_qos.c
+++ b/lib/power/rte_power_qos.c
@@ -18,7 +18,7 @@
#define PM_QOS_CPU_RESUME_LATENCY_BUF_LEN 32
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_qos_set_cpu_resume_latency, 24.11)
+RTE_EXPORT_SYMBOL(rte_power_qos_set_cpu_resume_latency)
int
rte_power_qos_set_cpu_resume_latency(uint16_t lcore_id, int latency)
{
@@ -69,7 +69,7 @@ rte_power_qos_set_cpu_resume_latency(uint16_t lcore_id, int latency)
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_qos_get_cpu_resume_latency, 24.11)
+RTE_EXPORT_SYMBOL(rte_power_qos_get_cpu_resume_latency)
int
rte_power_qos_get_cpu_resume_latency(uint16_t lcore_id)
{
diff --git a/lib/power/rte_power_qos.h b/lib/power/rte_power_qos.h
index 05a3f51ae2..d8c5ab92d5 100644
--- a/lib/power/rte_power_qos.h
+++ b/lib/power/rte_power_qos.h
@@ -7,8 +7,6 @@
#include <stdint.h>
-#include <rte_compat.h>
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -36,9 +34,6 @@ extern "C" {
#define RTE_POWER_QOS_RESUME_LATENCY_NO_CONSTRAINT INT32_MAX
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param lcore_id
* target logical core id
*
@@ -48,13 +43,9 @@ extern "C" {
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_power_qos_set_cpu_resume_latency(uint16_t lcore_id, int latency);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Get the current resume latency of this logical core.
* The default value in kernel is @see RTE_POWER_QOS_RESUME_LATENCY_NO_CONSTRAINT
* if don't set it.
@@ -63,7 +54,6 @@ int rte_power_qos_set_cpu_resume_latency(uint16_t lcore_id, int latency);
* Negative value on failure.
* >= 0 means the actual resume latency limit on this core.
*/
-__rte_experimental
int rte_power_qos_get_cpu_resume_latency(uint16_t lcore_id);
#ifdef __cplusplus
diff --git a/lib/power/rte_power_uncore.c b/lib/power/rte_power_uncore.c
index b50e09a2ad..90e83d9f2a 100644
--- a/lib/power/rte_power_uncore.c
+++ b/lib/power/rte_power_uncore.c
@@ -46,7 +46,7 @@ rte_power_register_uncore_ops(struct rte_power_uncore_ops *driver_ops)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_set_uncore_env, 23.11)
+RTE_EXPORT_SYMBOL(rte_power_set_uncore_env)
int
rte_power_set_uncore_env(enum rte_uncore_power_mgmt_env env)
{
@@ -86,7 +86,7 @@ rte_power_set_uncore_env(enum rte_uncore_power_mgmt_env env)
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_unset_uncore_env, 23.11)
+RTE_EXPORT_SYMBOL(rte_power_unset_uncore_env)
void
rte_power_unset_uncore_env(void)
{
@@ -95,7 +95,7 @@ rte_power_unset_uncore_env(void)
rte_spinlock_unlock(&global_env_cfg_lock);
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_get_uncore_env, 23.11)
+RTE_EXPORT_SYMBOL(rte_power_get_uncore_env)
enum rte_uncore_power_mgmt_env
rte_power_get_uncore_env(void)
{
@@ -180,7 +180,7 @@ rte_power_uncore_freq_min(unsigned int pkg, unsigned int die)
return global_uncore_ops->freq_min(pkg, die);
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_uncore_freqs, 23.11)
+RTE_EXPORT_SYMBOL(rte_power_uncore_freqs)
int
rte_power_uncore_freqs(unsigned int pkg, unsigned int die,
uint32_t *freqs, uint32_t num)
diff --git a/lib/power/rte_power_uncore.h b/lib/power/rte_power_uncore.h
index 66aea1b37f..9599839d89 100644
--- a/lib/power/rte_power_uncore.h
+++ b/lib/power/rte_power_uncore.h
@@ -11,7 +11,6 @@
* Uncore Frequency Management
*/
-#include <rte_compat.h>
#include <rte_common.h>
#ifdef __cplusplus
@@ -39,14 +38,12 @@ enum rte_uncore_power_mgmt_env {
* - 0 on success.
* - Negative on error.
*/
-__rte_experimental
int rte_power_set_uncore_env(enum rte_uncore_power_mgmt_env env);
/**
* Unset the global uncore environment configuration.
* This can only be called after all threads have completed.
*/
-__rte_experimental
void rte_power_unset_uncore_env(void);
/**
@@ -55,7 +52,6 @@ void rte_power_unset_uncore_env(void);
* @return
* power_management_env The configured environment.
*/
-__rte_experimental
enum rte_uncore_power_mgmt_env rte_power_get_uncore_env(void);
/**
@@ -203,7 +199,6 @@ int rte_power_uncore_freq_min(unsigned int pkg, unsigned int die);
* - The number of available index's in frequency array.
* - Negative on error.
*/
-__rte_experimental
int rte_power_uncore_freqs(unsigned int pkg, unsigned int die,
uint32_t *freqs, uint32_t num);
--
2.53.0
next prev parent reply other threads:[~2026-10-07 21:42 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-07 21:39 [PATCH 00/20] promote long standing experimental API to stable Stephen Hemminger
2026-10-07 21:39 ` [PATCH 01/20] eal: add missing export for rte_basename Stephen Hemminger
2026-10-08 9:56 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 02/20] eal: promote rte_basename to stable Stephen Hemminger
2026-10-08 9:56 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 03/20] eal: promote explicit zero and sensitive free " Stephen Hemminger
2026-10-08 10:01 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 04/20] eal: promote rte_size_to_str " Stephen Hemminger
2026-10-08 10:01 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 05/20] eal: promote lcore variables API " Stephen Hemminger
2026-10-08 10:04 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 06/20] cmdline: promote bool token ops " Stephen Hemminger
2026-10-08 10:05 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 07/20] ethdev: promote link connector to string " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 08/20] port: promote SWX port API " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 09/20] table: promote SWX table " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 10/20] pipeline: promote SWX IPsec " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 11/20] pipeline: promote SWX pipeline and control " Stephen Hemminger
2026-10-07 21:39 ` Stephen Hemminger [this message]
2026-10-07 21:39 ` [PATCH 13/20] ring: promote soring " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 14/20] dispatcher: promote " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 15/20] argparse: " Stephen Hemminger
2026-10-08 10:15 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 16/20] node: " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 17/20] hash: promote RCU reclaim and thash key generation " Stephen Hemminger
2026-10-08 10:16 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 18/20] cryptodev: promote algorithm helpers " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 19/20] pdcp: promote API " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 20/20] mempool: promote memory range and alignment " Stephen Hemminger
2026-10-08 7:19 ` Morten Brørup
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=20261007214115.3092715-13-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=anatoly.burakov@intel.com \
--cc=dev@dpdk.org \
--cc=sivaprasad.tummala@amd.com \
/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.