xref: /linux/tools/perf/util/addr_location.h (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __PERF_ADDR_LOCATION
3 #define __PERF_ADDR_LOCATION 1
4 
5 #include <linux/types.h>
6 
7 struct thread;
8 struct maps;
9 struct map;
10 struct symbol;
11 
12 struct addr_location {
13 	struct thread *thread;
14 	struct maps   *maps;
15 	struct map    *map;
16 	struct symbol *sym;
17 	const char    *srcline;
18 	u64	      addr;
19 	char	      level;
20 	u8	      cpumode;
21 	u16	      filtered;
22 	s32	      cpu;
23 	s32	      socket;
24 	/* Same as machine.parallelism but within [1, nr_cpus]. */
25 	int	      parallelism;
26 	/* See he_stat.latency. */
27 	u64	      latency;
28 };
29 
30 void addr_location__init(struct addr_location *al);
31 void addr_location__exit(struct addr_location *al);
32 
33 void addr_location__copy(struct addr_location *dst, struct addr_location *src);
34 
35 #endif /* __PERF_ADDR_LOCATION */
36