DPDK 25.03.0-rc0
|
#include "power_uncore_ops.h"
Go to the source code of this file.
Functions | |
__rte_experimental int | rte_power_set_uncore_env (enum rte_uncore_power_mgmt_env env) |
__rte_experimental void | rte_power_unset_uncore_env (void) |
__rte_experimental enum rte_uncore_power_mgmt_env | rte_power_get_uncore_env (void) |
int | rte_power_uncore_init (unsigned int pkg, unsigned int die) |
int | rte_power_uncore_exit (unsigned int pkg, unsigned int die) |
uint32_t | rte_power_get_uncore_freq (unsigned int pkg, unsigned int die) |
int | rte_power_set_uncore_freq (unsigned int pkg, unsigned int die, uint32_t index) |
int | rte_power_uncore_freq_max (unsigned int pkg, unsigned int die) |
int | rte_power_uncore_freq_min (unsigned int pkg, unsigned int die) |
__rte_experimental int | rte_power_uncore_freqs (unsigned int pkg, unsigned int die, uint32_t *freqs, uint32_t num) |
int | rte_power_uncore_get_num_freqs (unsigned int pkg, unsigned int die) |
unsigned int | rte_power_uncore_get_num_pkgs (void) |
unsigned int | rte_power_uncore_get_num_dies (unsigned int pkg) |
Uncore Frequency Management
Definition in file rte_power_uncore.h.
__rte_experimental int rte_power_set_uncore_env | ( | enum rte_uncore_power_mgmt_env | env | ) |
Set the default uncore power management implementation. This has to be called prior to calling any other rte_power_uncore_*() API. It is thread safe. New env can be set only in uninitialized state. rte_power_unset_uncore_env must be called if different env was already set.
env | env. The environment in which to initialise Uncore Power Management for. |
__rte_experimental void rte_power_unset_uncore_env | ( | void | ) |
Unset the global uncore environment configuration. This can only be called after all threads have completed.
__rte_experimental enum rte_uncore_power_mgmt_env rte_power_get_uncore_env | ( | void | ) |
Get the default uncore power management implementation.
int rte_power_uncore_init | ( | unsigned int | pkg, |
unsigned int | die | ||
) |
Initialize uncore frequency management for specific die on a package. It will get the available frequencies and prepare to set new die frequencies.
This function should NOT be called in the fast path.
pkg | Package number. Each physical CPU in a system is referred to as a package. |
die | Die number. Each package can have several dies connected together via the uncore mesh. |
int rte_power_uncore_exit | ( | unsigned int | pkg, |
unsigned int | die | ||
) |
Exit uncore frequency management on a specific die on a package. It will restore uncore min and* max values to previous values before initialization of API.
This function should NOT be called in the fast path.
pkg | Package number. Each physical CPU in a system is referred to as a package. |
die | Die number. Each package can have several dies connected together via the uncore mesh. |
uint32_t rte_power_get_uncore_freq | ( | unsigned int | pkg, |
unsigned int | die | ||
) |
Return the current index of available frequencies of a specific die on a package. It should be protected outside of this function for threadsafe.
This function should NOT be called in the fast path.
pkg | Package number. Each physical CPU in a system is referred to as a package. |
die | Die number. Each package can have several dies connected together via the uncore mesh. |
int rte_power_set_uncore_freq | ( | unsigned int | pkg, |
unsigned int | die, | ||
uint32_t | index | ||
) |
Set minimum and maximum uncore frequency for specified die on a package to specified index value. It should be protected outside of this function for threadsafe.
This function should NOT be called in the fast path.
pkg | Package number. Each physical CPU in a system is referred to as a package. |
die | Die number. Each package can have several dies connected together via the uncore mesh. |
index | The index of available frequencies. |
int rte_power_uncore_freq_max | ( | unsigned int | pkg, |
unsigned int | die | ||
) |
Set minimum and maximum uncore frequency for specified die on a package to maximum value according to the available frequencies. It should be protected outside of this function for threadsafe.
This function should NOT be called in the fast path.
pkg | Package number. Each physical CPU in a system is referred to as a package. |
die | Die number. Each package can have several dies connected together via the uncore mesh. |
int rte_power_uncore_freq_min | ( | unsigned int | pkg, |
unsigned int | die | ||
) |
Set minimum and maximum uncore frequency for specified die on a package to minimum value according to the available frequencies. It should be protected outside of this function for threadsafe.
This function should NOT be called in the fast path.
pkg | Package number. Each physical CPU in a system is referred to as a package. |
die | Die number. Each package can have several dies connected together via the uncore mesh. |
__rte_experimental int rte_power_uncore_freqs | ( | unsigned int | pkg, |
unsigned int | die, | ||
uint32_t * | freqs, | ||
uint32_t | num | ||
) |
Return the list of available frequencies in the index array.
This function should NOT be called in the fast path.
pkg | Package number. Each physical CPU in a system is referred to as a package. |
die | Die number. Each package can have several dies connected together via the uncore mesh. |
freqs | The buffer array to save the frequencies. |
num | The number of frequencies to get. |
int rte_power_uncore_get_num_freqs | ( | unsigned int | pkg, |
unsigned int | die | ||
) |
Return the list length of available frequencies in the index array.
This function should NOT be called in the fast path.
pkg | Package number. Each physical CPU in a system is referred to as a package. |
die | Die number. Each package can have several dies connected together via the uncore mesh. |
unsigned int rte_power_uncore_get_num_pkgs | ( | void | ) |
Return the number of packages (CPUs) on a system by parsing the uncore sysfs directory.
This function should NOT be called in the fast path.
unsigned int rte_power_uncore_get_num_dies | ( | unsigned int | pkg | ) |
Return the number of dies for pakckages (CPUs) specified from parsing the uncore sysfs directory.
This function should NOT be called in the fast path.
pkg | Package number. Each physical CPU in a system is referred to as a package. |