summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/addr_location.h
blob: 64b5510252169239d5c450cdcc26dbb98a58dc84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __PERF_ADDR_LOCATION
#define __PERF_ADDR_LOCATION 1

#include <linux/types.h>

struct thread;
struct maps;
struct map;
struct symbol;

struct addr_location {
	struct thread *thread;
	struct maps   *maps;
	struct map    *map;
	struct symbol *sym;
	const char    *srcline;
	u64	      addr;
	char	      level;
	u8	      cpumode;
	u16	      filtered;
	s32	      cpu;
	s32	      socket;
	/* Same as machine.parallelism but within [1, nr_cpus]. */
	int	      parallelism;
	/* See he_stat.latency. */
	u64	      latency;
};

void addr_location__init(struct addr_location *al);
void addr_location__exit(struct addr_location *al);

void addr_location__copy(struct addr_location *dst, struct addr_location *src);

#endif /* __PERF_ADDR_LOCATION */