nto_power_freq_reason

Updated: April 19, 2023

Reasons for the change to the power frequency

Synopsis:

#include <sys/neutrino.h>
enum nto_power_freq_reason {
    _NTO_PFR_NONE,
    _NTO_PFR_UNDERFLOW,
    _NTO_PFR_OVERFLOW,
    _NTO_PFR_WAYPOINT,
    _NTO_PFR_THREAD_HISTORY,
    _NTO_PFR_JOB_HISTORY,
    _NTO_PFR_MASK = 0xffff,
};

Data:

_NTO_PFR_NONE
No reason is specified.
_NTO_PFR_UNDERFLOW
The CPU cluster's load was less than the specified minimum load for the CPU cluster at the operating point.
_NTO_PFR_OVERFLOW
The CPU cluster's load was greater than the specified maximum load for the CPU cluster at the operating point.
_NTO_PFR_WAYPOINT
The CPU cluster was at a waypoint.
_NTO_PFR_THREAD_HISTORY
The kernel changed the CPU cluster frequency due to the history of the thread running on one or more CPUs in the cluster.
_NTO_PFR_MASK
The bitmask of allowable operating points.

Library:

libc

Description:

The nto_power_freq_reason (_NTO_PFR_*) enumerated values specify the possible reasons the kernel can change the power frequency for a CPU cluster. The reason for a given frequency change can be included in the sigevent sent by the kernel to the power-management process (see the nto_power_parameter's u.freq.ev member in this reference, and Power Management in the Programmer's Guide).

Note: For the purposes of power management (and, therefore, in this documentation) a CPU cluster isn't necessarily equivalent to a CPU cluster as defined in the SoC documentation for your board. It is simply a set of CPUs you create so you can manage their power characteristics together. A CPU cluster may include only a single CPU, or multiple CPUs.