env.h 890 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef __PERF_ENV_H
  2. #define __PERF_ENV_H
  3. struct cpu_topology_map {
  4. int socket_id;
  5. int core_id;
  6. };
  7. struct perf_env {
  8. char *hostname;
  9. char *os_release;
  10. char *version;
  11. char *arch;
  12. int nr_cpus_online;
  13. int nr_cpus_avail;
  14. char *cpu_desc;
  15. char *cpuid;
  16. unsigned long long total_mem;
  17. unsigned int msr_pmu_type;
  18. int nr_cmdline;
  19. int nr_sibling_cores;
  20. int nr_sibling_threads;
  21. int nr_numa_nodes;
  22. int nr_pmu_mappings;
  23. int nr_groups;
  24. char *cmdline;
  25. const char **cmdline_argv;
  26. char *sibling_cores;
  27. char *sibling_threads;
  28. char *numa_nodes;
  29. char *pmu_mappings;
  30. struct cpu_topology_map *cpu;
  31. };
  32. extern struct perf_env perf_env;
  33. void perf_env__exit(struct perf_env *env);
  34. int perf_env__set_cmdline(struct perf_env *env, int argc, const char *argv[]);
  35. int perf_env__read_cpu_topology_map(struct perf_env *env);
  36. #endif /* __PERF_ENV_H */