linux/tools/power/cpupower/lib/cpupower.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __CPUPOWER_CPUPOWER_H__
   3#define __CPUPOWER_CPUPOWER_H__
   4
   5struct cpupower_topology {
   6        /* Amount of CPU cores, packages and threads per core in the system */
   7        unsigned int cores;
   8        unsigned int pkgs;
   9        unsigned int threads; /* per core */
  10
  11        /* Array gets mallocated with cores entries, holding per core info */
  12        struct cpuid_core_info *core_info;
  13};
  14
  15struct cpuid_core_info {
  16        int pkg;
  17        int core;
  18        int cpu;
  19
  20        /* flags */
  21        unsigned int is_online:1;
  22};
  23
  24#ifdef __cplusplus
  25extern "C" {
  26#endif
  27
  28int get_cpu_topology(struct cpupower_topology *cpu_top);
  29void cpu_topology_release(struct cpupower_topology cpu_top);
  30int cpupower_is_cpu_online(unsigned int cpu);
  31
  32#ifdef __cplusplus
  33}
  34#endif
  35
  36#endif
  37