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