1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __PERF_CPUTOPO_H 3 #define __PERF_CPUTOPO_H 4 5 #include <linux/types.h> 6 7 struct cpu_topology { 8 u32 core_sib; 9 u32 die_sib; 10 u32 thread_sib; 11 char **core_siblings; 12 char **die_siblings; 13 char **thread_siblings; 14 }; 15 16 struct numa_topology_node { 17 char *cpus; 18 u32 node; 19 u64 mem_total; 20 u64 mem_free; 21 }; 22 23 struct numa_topology { 24 u32 nr; 25 struct numa_topology_node nodes[0]; 26 }; 27 28 struct cpu_topology *cpu_topology__new(void); 29 void cpu_topology__delete(struct cpu_topology *tp); 30 31 struct numa_topology *numa_topology__new(void); 32 void numa_topology__delete(struct numa_topology *tp); 33 34 #endif /* __PERF_CPUTOPO_H */ 35