xref: /linux/tools/perf/util/cputopo.h (revision 78beef629fd95be4ed853b2d37b832f766bd96ca)
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