cpu.h 716 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef _cpu_h
  2. #define _cpu_h
  3. #include "lub/list.h"
  4. #include "cpumask.h"
  5. struct cpu_s {
  6. unsigned int id; /* Logical processor ID */
  7. unsigned int package_id;
  8. unsigned int core_id;
  9. cpumask_t cpumask;
  10. unsigned long long old_load_all;
  11. unsigned long long old_load_irq;
  12. float load;
  13. lub_list_t *irqs;
  14. };
  15. typedef struct cpu_s cpu_t;
  16. #define SYSFS_CPU_PATH "/sys/devices/system/cpu"
  17. /* CPU IDs compare function */
  18. int cpu_list_compare(const void *first, const void *second);
  19. /* CPU list functions */
  20. int cpu_list_populate(lub_list_t *cpus);
  21. int cpu_list_free(lub_list_t *cpus);
  22. int scan_cpus(lub_list_t *cpus);
  23. int show_cpus(lub_list_t *cpus);
  24. cpu_t * cpu_list_search(lub_list_t *cpus, unsigned int id);
  25. #endif