rte_power_intrinsics.h(3) DPDK rte_power_intrinsics.h(3) NAME rte_power_intrinsics.h SYNOPSIS #include <inttypes.h> #include <rte_spinlock.h> Macros #define RTE_POWER_MONITOR_OPAQUE_SZ 4 Typedefs typedef int(* rte_power_monitor_clb_t) (const uint64_t val, const uint64_t opaque[RTE_POWER_MONITOR_OPAQUE_SZ]) Functions int rte_power_monitor (const struct rte_power_monitor_cond *pmc, const uint64_t tsc_timestamp) int rte_power_monitor_wakeup (const unsigned int lcore_id) int rte_power_pause (const uint64_t tsc_timestamp) int rte_power_monitor_multi (const struct rte_power_monitor_cond pmc[], const uint32_t num, const uint64_t tsc_timestamp) Detailed Description Advanced power management operations. This file define APIs for advanced power management, which are architec- ture-dependent. Definition in file rte_power_intrinsics.h. Macro Definition Documentation #define RTE_POWER_MONITOR_OPAQUE_SZ 4 Size of the opaque data in monitor condition Definition at line 25 of file rte_power_intrinsics.h. Typedef Documentation typedef int(* rte_power_monitor_clb_t) (const uint64_t val, const uint64_t opaque[RTE_POWER_MONITOR_OPAQUE_SZ]) Callback definition for monitoring conditions. Callbacks with this signa- ture will be used by rte_power_monitor() to check if the entering of power optimized state should be aborted. Parameters val The value read from memory. opaque Callback-specific data. Returns 0 if entering of power optimized state should proceed -1 if entering of power optimized state should be aborted Definition at line 41 of file rte_power_intrinsics.h. Function Documentation int rte_power_monitor (const struct rte_power_monitor_cond * pmc, const uint64_t tsc_timestamp) Monitor specific address for changes. This will cause the CPU to enter an architecture-defined optimized power state until either the specified mem- ory address is written to, a certain TSC timestamp is reached, or other reasons cause the CPU to wake up. Additionally, an expected value (pmc->val), mask (pmc->mask), and data size (pmc->size) are provided in the pmc power monitoring condition. If the mask is non-zero, the current value pointed to by the pmc->addr pointer will be read and compared against the expected value, and if they match, the enter- ing of optimized power state will be aborted. This is intended to prevent the CPU from entering optimized power state and waiting on a write that has already happened by the time this API is called. Warning It is responsibility of the user to check if this function is supported at runtime using rte_cpu_get_intrinsics_support() API call. Parameters pmc The monitoring condition structure. tsc_timestamp Maximum TSC timestamp to wait for. Note that the wait be- havior is architecture-dependent. Returns 0 on success -EINVAL on invalid parameters -ENOTSUP if unsupported int rte_power_monitor_wakeup (const unsigned int lcore_id) Wake up a specific lcore that is in a power optimized state and is monitor- ing an address. Note It is safe to call this function if the lcore in question is not sleep- ing. The function will have no effect. This function will not wake up a core that is in a power optimized state due to calling rte_power_pause. Parameters lcore_id Lcore ID of a sleeping thread. int rte_power_pause (const uint64_t tsc_timestamp) Enter an architecture-defined optimized power state until a certain TSC timestamp is reached. Warning It is responsibility of the user to check if this function is supported at runtime using rte_cpu_get_intrinsics_support() API call. Parameters tsc_timestamp Maximum TSC timestamp to wait for. Note that the wait be- havior is architecture-dependent. Returns 0 on success -EINVAL on invalid parameters -ENOTSUP if unsupported int rte_power_monitor_multi (const struct rte_power_monitor_cond pmc[], const uint32_t num, const uint64_t tsc_timestamp) Monitor a set of addresses for changes. This will cause the CPU to enter an architecture-defined optimized power state until either one of the speci- fied memory addresses is written to, a certain TSC timestamp is reached, or other reasons cause the CPU to wake up. Additionally, expected 64-bit values and 64-bit masks are provided. If mask is non-zero, the current value pointed to by the p pointer will be checked against the expected value, and if they do not match, the entering of opti- mized power state may be aborted. Warning It is responsibility of the user to check if this function is supported at runtime using rte_cpu_get_intrinsics_support() API call. Failing to do so may result in an illegal CPU instruction error. Parameters pmc An array of monitoring condition structures. num Length of the pmc array. tsc_timestamp Maximum TSC timestamp to wait for. Note that the wait be- havior is architecture-dependent. Returns 0 on success -EINVAL on invalid parameters -ENOTSUP if unsupported Author Generated automatically by Doxygen for DPDK from the source code. Version 25.11.0 Thu Aug 27 2026 rte_power_intrinsics.h(3)
NAME | SYNOPSIS | Detailed Description | Macro Definition Documentation | Typedef Documentation | Function Documentation | Author
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=RTE_POWER_MONITOR_OPAQUE_SZ&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
