#include <rte_common.h>
#include <rte_log.h>
#include "power_cpufreq.h"
Go to the source code of this file.
CPU Frequency Management
Definition in file rte_power_cpufreq.h.
◆ rte_power_check_env_supported()
int rte_power_check_env_supported |
( |
enum power_management_env |
env | ) |
|
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.
◆ rte_power_set_env()
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.
◆ rte_power_unset_env()
void rte_power_unset_env |
( |
void |
| ) |
|
Unset the global environment configuration. This can only be called after all threads have completed.
◆ rte_power_get_env()
enum power_management_env rte_power_get_env |
( |
void |
| ) |
|
◆ rte_power_init()
int rte_power_init |
( |
unsigned int |
lcore_id | ) |
|
◆ rte_power_exit()
int rte_power_exit |
( |
unsigned int |
lcore_id | ) |
|
◆ rte_power_freqs()
uint32_t rte_power_freqs |
( |
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.
- Examples
- examples/vm_power_manager/power_manager.c.
◆ rte_power_get_freq()
uint32_t rte_power_get_freq |
( |
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.
- Examples
- examples/vm_power_manager/power_manager.c.
◆ rte_power_set_freq()
uint32_t rte_power_set_freq |
( |
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.
- Examples
- examples/vm_power_manager/power_manager.c.
◆ rte_power_freq_up()
int rte_power_freq_up |
( |
unsigned int |
lcore_id | ) |
|
◆ rte_power_freq_down()
int rte_power_freq_down |
( |
unsigned int |
lcore_id | ) |
|
◆ rte_power_freq_max()
int rte_power_freq_max |
( |
unsigned int |
lcore_id | ) |
|
◆ rte_power_freq_min()
int rte_power_freq_min |
( |
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.
◆ rte_power_turbo_status()
int rte_power_turbo_status |
( |
unsigned int |
lcore_id | ) |
|
Query the Turbo Boost status of a specific lcore. Review each environments specific documentation for usage..
- Parameters
-
- Returns
- 1 turbo boost enabled.
- 0 turbo boost disabled.
- Negative on error.
◆ rte_power_freq_enable_turbo()
int rte_power_freq_enable_turbo |
( |
unsigned int |
lcore_id | ) |
|
◆ rte_power_freq_disable_turbo()
int rte_power_freq_disable_turbo |
( |
unsigned int |
lcore_id | ) |
|
◆ rte_power_get_capabilities()
int rte_power_get_capabilities |
( |
unsigned int |
lcore_id, |
|
|
struct rte_power_core_capabilities * |
caps |
|
) |
| |