mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-19 17:28:00 +07:00
Merge branches 'pm-cpuidle' and 'pm-opp'
* pm-cpuidle: PM: cpuidle: Fix cpuidle_poll_state_init() prototype Documentation/ABI: update cpuidle sysfs documentation * pm-opp: opp: cpu: Replace GFP_ATOMIC with GFP_KERNEL in dev_pm_opp_init_cpufreq_table
This commit is contained in:
commit
822ffaa581
@ -108,6 +108,8 @@ Description: CPU topology files that describe a logical CPU's relationship
|
|||||||
|
|
||||||
What: /sys/devices/system/cpu/cpuidle/current_driver
|
What: /sys/devices/system/cpu/cpuidle/current_driver
|
||||||
/sys/devices/system/cpu/cpuidle/current_governer_ro
|
/sys/devices/system/cpu/cpuidle/current_governer_ro
|
||||||
|
/sys/devices/system/cpu/cpuidle/available_governors
|
||||||
|
/sys/devices/system/cpu/cpuidle/current_governor
|
||||||
Date: September 2007
|
Date: September 2007
|
||||||
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
||||||
Description: Discover cpuidle policy and mechanism
|
Description: Discover cpuidle policy and mechanism
|
||||||
@ -119,13 +121,84 @@ Description: Discover cpuidle policy and mechanism
|
|||||||
Idle policy (governor) is differentiated from idle mechanism
|
Idle policy (governor) is differentiated from idle mechanism
|
||||||
(driver)
|
(driver)
|
||||||
|
|
||||||
current_driver: displays current idle mechanism
|
current_driver: (RO) displays current idle mechanism
|
||||||
|
|
||||||
current_governor_ro: displays current idle policy
|
current_governor_ro: (RO) displays current idle policy
|
||||||
|
|
||||||
|
With the cpuidle_sysfs_switch boot option enabled (meant for
|
||||||
|
developer testing), the following three attributes are visible
|
||||||
|
instead:
|
||||||
|
|
||||||
|
current_driver: same as described above
|
||||||
|
|
||||||
|
available_governors: (RO) displays a space separated list of
|
||||||
|
available governors
|
||||||
|
|
||||||
|
current_governor: (RW) displays current idle policy. Users can
|
||||||
|
switch the governor at runtime by writing to this file.
|
||||||
|
|
||||||
See files in Documentation/cpuidle/ for more information.
|
See files in Documentation/cpuidle/ for more information.
|
||||||
|
|
||||||
|
|
||||||
|
What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/name
|
||||||
|
/sys/devices/system/cpu/cpuX/cpuidle/stateN/latency
|
||||||
|
/sys/devices/system/cpu/cpuX/cpuidle/stateN/power
|
||||||
|
/sys/devices/system/cpu/cpuX/cpuidle/stateN/time
|
||||||
|
/sys/devices/system/cpu/cpuX/cpuidle/stateN/usage
|
||||||
|
Date: September 2007
|
||||||
|
KernelVersion: v2.6.24
|
||||||
|
Contact: Linux power management list <linux-pm@vger.kernel.org>
|
||||||
|
Description:
|
||||||
|
The directory /sys/devices/system/cpu/cpuX/cpuidle contains per
|
||||||
|
logical CPU specific cpuidle information for each online cpu X.
|
||||||
|
The processor idle states which are available for use have the
|
||||||
|
following attributes:
|
||||||
|
|
||||||
|
name: (RO) Name of the idle state (string).
|
||||||
|
|
||||||
|
latency: (RO) The latency to exit out of this idle state (in
|
||||||
|
microseconds).
|
||||||
|
|
||||||
|
power: (RO) The power consumed while in this idle state (in
|
||||||
|
milliwatts).
|
||||||
|
|
||||||
|
time: (RO) The total time spent in this idle state (in microseconds).
|
||||||
|
|
||||||
|
usage: (RO) Number of times this state was entered (a count).
|
||||||
|
|
||||||
|
|
||||||
|
What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/desc
|
||||||
|
Date: February 2008
|
||||||
|
KernelVersion: v2.6.25
|
||||||
|
Contact: Linux power management list <linux-pm@vger.kernel.org>
|
||||||
|
Description:
|
||||||
|
(RO) A small description about the idle state (string).
|
||||||
|
|
||||||
|
|
||||||
|
What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/disable
|
||||||
|
Date: March 2012
|
||||||
|
KernelVersion: v3.10
|
||||||
|
Contact: Linux power management list <linux-pm@vger.kernel.org>
|
||||||
|
Description:
|
||||||
|
(RW) Option to disable this idle state (bool). The behavior and
|
||||||
|
the effect of the disable variable depends on the implementation
|
||||||
|
of a particular governor. In the ladder governor, for example,
|
||||||
|
it is not coherent, i.e. if one is disabling a light state, then
|
||||||
|
all deeper states are disabled as well, but the disable variable
|
||||||
|
does not reflect it. Likewise, if one enables a deep state but a
|
||||||
|
lighter state still is disabled, then this has no effect.
|
||||||
|
|
||||||
|
|
||||||
|
What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/residency
|
||||||
|
Date: March 2014
|
||||||
|
KernelVersion: v3.15
|
||||||
|
Contact: Linux power management list <linux-pm@vger.kernel.org>
|
||||||
|
Description:
|
||||||
|
(RO) Display the target residency i.e. the minimum amount of
|
||||||
|
time (in microseconds) this cpu should spend in this idle state
|
||||||
|
to make the transition worth the effort.
|
||||||
|
|
||||||
|
|
||||||
What: /sys/devices/system/cpu/cpu#/cpufreq/*
|
What: /sys/devices/system/cpu/cpu#/cpufreq/*
|
||||||
Date: pre-git history
|
Date: pre-git history
|
||||||
Contact: linux-pm@vger.kernel.org
|
Contact: linux-pm@vger.kernel.org
|
||||||
|
@ -55,7 +55,7 @@ int dev_pm_opp_init_cpufreq_table(struct device *dev,
|
|||||||
if (max_opps <= 0)
|
if (max_opps <= 0)
|
||||||
return max_opps ? max_opps : -ENODATA;
|
return max_opps ? max_opps : -ENODATA;
|
||||||
|
|
||||||
freq_table = kcalloc((max_opps + 1), sizeof(*freq_table), GFP_ATOMIC);
|
freq_table = kcalloc((max_opps + 1), sizeof(*freq_table), GFP_KERNEL);
|
||||||
if (!freq_table)
|
if (!freq_table)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
@ -225,7 +225,7 @@ static inline void cpuidle_coupled_parallel_barrier(struct cpuidle_device *dev,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_HAS_CPU_RELAX
|
#if defined(CONFIG_CPU_IDLE) && defined(CONFIG_ARCH_HAS_CPU_RELAX)
|
||||||
void cpuidle_poll_state_init(struct cpuidle_driver *drv);
|
void cpuidle_poll_state_init(struct cpuidle_driver *drv);
|
||||||
#else
|
#else
|
||||||
static inline void cpuidle_poll_state_init(struct cpuidle_driver *drv) {}
|
static inline void cpuidle_poll_state_init(struct cpuidle_driver *drv) {}
|
||||||
|
Loading…
Reference in New Issue
Block a user