DPDK  23.03.0
Functions
rte_power_intel_uncore.h File Reference
#include <rte_compat.h>
#include "rte_power.h"

Go to the source code of this file.

Functions

__rte_experimental int rte_power_uncore_init (unsigned int pkg, unsigned int die)
 
__rte_experimental int rte_power_uncore_exit (unsigned int pkg, unsigned int die)
 
__rte_experimental uint32_t rte_power_get_uncore_freq (unsigned int pkg, unsigned int die)
 
__rte_experimental int rte_power_set_uncore_freq (unsigned int pkg, unsigned int die, uint32_t index)
 
__rte_experimental int rte_power_uncore_freq_max (unsigned int pkg, unsigned int die)
 
__rte_experimental int rte_power_uncore_freq_min (unsigned int pkg, unsigned int die)
 
__rte_experimental int rte_power_uncore_get_num_freqs (unsigned int pkg, unsigned int die)
 
__rte_experimental unsigned int rte_power_uncore_get_num_pkgs (void)
 
__rte_experimental unsigned int rte_power_uncore_get_num_dies (unsigned int pkg)
 

Detailed Description

RTE Intel Uncore Frequency Management

Definition in file rte_power_intel_uncore.h.

Function Documentation

◆ rte_power_uncore_init()

__rte_experimental 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.

Parameters
pkgPackage number. Each physical CPU in a system is referred to as a package.
dieDie number. Each package can have several dies connected together via the uncore mesh.
Returns
  • 0 on success.
  • Negative on error.
Examples:
examples/l3fwd-power/main.c.

◆ rte_power_uncore_exit()

__rte_experimental 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.

Parameters
pkgPackage number. Each physical CPU in a system is referred to as a package.
dieDie number. Each package can have several dies connected together via the uncore mesh.
Returns
  • 0 on success.
  • Negative on error.
Examples:
examples/l3fwd-power/main.c.

◆ rte_power_get_uncore_freq()

__rte_experimental 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.

Parameters
pkgPackage number. Each physical CPU in a system is referred to as a package.
dieDie number. Each package can have several dies connected together via the uncore mesh.
Returns
The current index of available frequencies. If error, it will return 'RTE_POWER_INVALID_FREQ_INDEX = (~0)'.

◆ rte_power_set_uncore_freq()

__rte_experimental 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.

Parameters
pkgPackage number. Each physical CPU in a system is referred to as a package.
dieDie number. Each package can have several dies connected together via the uncore mesh.
indexThe index of available frequencies.
Returns
  • 1 on success with frequency changed.
  • 0 on success without frequency changed.
  • Negative on error.
Examples:
examples/l3fwd-power/main.c.

◆ rte_power_uncore_freq_max()

__rte_experimental 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.

Parameters
pkgPackage number. Each physical CPU in a system is referred to as a package.
dieDie number. Each package can have several dies connected together via the uncore mesh.
Returns
  • 1 on success with frequency changed.
  • 0 on success without frequency changed.
  • Negative on error.
Examples:
examples/l3fwd-power/main.c.

◆ rte_power_uncore_freq_min()

__rte_experimental 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.

Parameters
pkgPackage number. Each physical CPU in a system is referred to as a package.
dieDie number. Each package can have several dies connected together via the uncore mesh.
Returns
  • 1 on success with frequency changed.
  • 0 on success without frequency changed.
  • Negative on error.
Examples:
examples/l3fwd-power/main.c.

◆ rte_power_uncore_get_num_freqs()

__rte_experimental 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.

Parameters
pkgPackage number. Each physical CPU in a system is referred to as a package.
dieDie number. Each package can have several dies connected together via the uncore mesh.
Returns
  • The number of available index's in frequency array.
  • Negative on error.
Examples:
examples/l3fwd-power/main.c.

◆ rte_power_uncore_get_num_pkgs()

__rte_experimental 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.

Returns
  • Zero on error.
  • Number of package on system on success.
Examples:
examples/l3fwd-power/main.c.

◆ rte_power_uncore_get_num_dies()

__rte_experimental 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.

Parameters
pkgPackage number. Each physical CPU in a system is referred to as a package.
Returns
  • Zero on error.
  • Number of dies for package on sucecss.
Examples:
examples/l3fwd-power/main.c.