Go to the source code of this file.
RTE Power Management
Definition in file rte_power.h.
typedef uint32_t(* rte_power_freqs_t) (unsigned int lcore_id, uint32_t *freqs, uint32_t num) |
Get the available frequencies of a specific lcore. Function pointer definition. Review each environments specific documentation for usage.
- Parameters
-
lcore_id | lcore id. |
freqs | The buffer array to save the frequencies. |
num | The number of frequencies to get. |
- Returns
- The number of available frequencies.
Definition at line 115 of file rte_power.h.
typedef uint32_t(* rte_power_get_freq_t) (unsigned int lcore_id) |
Return the current index of available frequencies of a specific lcore. Function pointer definition. Review each environments specific documentation for usage.
- Parameters
-
- Returns
- The current index of available frequencies.
Definition at line 131 of file rte_power.h.
typedef int(* rte_power_set_freq_t) (unsigned int lcore_id, uint32_t index) |
Set the new frequency for a specific lcore by indicating the index of available frequencies. Function pointer definition. Review each environments specific documentation for usage.
- Parameters
-
lcore_id | lcore id. |
index | The index of available frequencies. |
- Returns
- 1 on success with frequency changed.
- 0 on success without frequency changed.
- Negative on error.
Definition at line 151 of file rte_power.h.
typedef int(* rte_power_freq_change_t) (unsigned int lcore_id) |
Function pointer definition for generic frequency change functions. Review each environments specific documentation for usage.
- Parameters
-
- Returns
- 1 on success with frequency changed.
- 0 on success without frequency changed.
- Negative on error.
Definition at line 167 of file rte_power.h.
Returns power capabilities for a specific lcore. Function pointer definition. Review each environments specific documentation for usage.
- Parameters
-
- Returns
- 0 on success.
- Negative on error.
Definition at line 299 of file rte_power.h.
__rte_experimental int rte_power_check_env_supported |
( |
enum power_management_env |
env | ) |
|
- Warning
- EXPERIMENTAL: this API may change, or be removed, without prior notice
Check if a specific power management environment type is supported on a currently running system.
- Parameters
-
env | The environment type to check support for. |
- Returns
- 1 if supported
- 0 if unsupported
- -1 if error, with rte_errno indicating reason for error.
- Examples:
- examples/l3fwd-power/main.c.
int rte_power_set_env |
( |
enum power_management_env |
env | ) |
|
Set the default power management implementation. If this is not called prior to rte_power_init(), then auto-detect of the environment will take place. It is thread safe. New env can be set only in uninitialized state (thus rte_power_unset_env must be called if different env was already set).
- Parameters
-
env | env. The environment in which to initialise Power Management for. |
- Returns
- 0 on success.
- Negative on error.
- Examples:
- examples/vm_power_manager/guest_cli/main.c, and examples/vm_power_manager/power_manager.c.
void rte_power_unset_env |
( |
void |
| ) |
|
Unset the global environment configuration. This can only be called after all threads have completed.
enum power_management_env rte_power_get_env |
( |
void |
| ) |
|
int rte_power_init |
( |
unsigned int |
lcore_id | ) |
|
int rte_power_exit |
( |
unsigned int |
lcore_id | ) |
|
Scale down the frequency of a specific lcore to the lowest according to the available frequencies. Review each environments specific documentation for usage..
- Parameters
-
- Returns
- 1 on success with frequency changed.
- 0 on success without frequency changed.
- Negative on error.
- Examples:
- examples/vm_power_manager/guest_cli/vm_power_cli_guest.c.
Query the Turbo Boost status of a specific lcore. Review each environments specific documentation for usage..
- Parameters
-
- Returns
- 1 Turbo Boost is enabled for this lcore.
- 0 Turbo Boost is disabled for this lcore.
- Negative on error.