mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-25 17:45:11 +07:00
ac5a181d06
This more or less is a renaming and moving of functions and should not introduce any functional change. cpupower was built from cpufrequtils (which had a C library providing easy access to cpu frequency platform info). In the meantime it got enhanced by quite some neat cpuidle userspace tools. Now the cpu idle functions have been separated and added to the cpupower.so library. So beside an already existing public header file: cpufreq.h cpupower now also exports these cpu idle functions in: cpuidle.h Here again pasted for better review of the interfaces: ====================================== int cpuidle_is_state_disabled(unsigned int cpu, unsigned int idlestate); int cpuidle_state_disable(unsigned int cpu, unsigned int idlestate, unsigned int disable); unsigned long cpuidle_state_latency(unsigned int cpu, unsigned int idlestate); unsigned long cpuidle_state_usage(unsigned int cpu, unsigned int idlestate); unsigned long long cpuidle_state_time(unsigned int cpu, unsigned int idlestate); char *cpuidle_state_name(unsigned int cpu, unsigned int idlestate); char *cpuidle_state_desc(unsigned int cpu, unsigned int idlestate); unsigned int cpuidle_state_count(unsigned int cpu); char *cpuidle_get_governor(void); char *cpuidle_get_driver(void); ====================================== Signed-off-by: Thomas Renninger <trenn@suse.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
36 lines
697 B
C
36 lines
697 B
C
#ifndef __CPUPOWER_CPUPOWER_H__
|
|
#define __CPUPOWER_CPUPOWER_H__
|
|
|
|
struct cpupower_topology {
|
|
/* Amount of CPU cores, packages and threads per core in the system */
|
|
unsigned int cores;
|
|
unsigned int pkgs;
|
|
unsigned int threads; /* per core */
|
|
|
|
/* Array gets mallocated with cores entries, holding per core info */
|
|
struct cpuid_core_info *core_info;
|
|
};
|
|
|
|
struct cpuid_core_info {
|
|
int pkg;
|
|
int core;
|
|
int cpu;
|
|
|
|
/* flags */
|
|
unsigned int is_online:1;
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
int get_cpu_topology(struct cpupower_topology *cpu_top);
|
|
void cpu_topology_release(struct cpupower_topology cpu_top);
|
|
int cpupower_is_cpu_online(unsigned int cpu);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|