xref: /linux/tools/perf/util/addr_location.h (revision bf4afc53b77aeaa48b5409da5c8da6bb4eff7f43)
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 map    *map;
15 	struct symbol *sym;
16 	const char    *srcline;
17 	u64	      addr;
18 	char	      level;
19 	u8	      cpumode;
20 	u16	      filtered;
21 	s32	      cpu;
22 	s32	      socket;
23 	/* Same as machine.parallelism but within [1, nr_cpus]. */
24 	int	      parallelism;
25 	/* See he_stat.latency. */
26 	u64	      latency;
27 };
28 
29 void addr_location__init(struct addr_location *al);
30 void addr_location__exit(struct addr_location *al);
31 
32 void addr_location__copy(struct addr_location *dst, struct addr_location *src);
33 
34 #endif /* __PERF_ADDR_LOCATION */
35