summaryrefslogtreecommitdiff
path: root/tools/perf/util/bpf_skel/lock_data.h
blob: 3d35fd4407acc84fc59565a6f2869dfde4e4b331 (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
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/* Data structures shared between BPF and tools. */
#ifndef UTIL_BPF_SKEL_LOCK_DATA_H
#define UTIL_BPF_SKEL_LOCK_DATA_H

struct contention_key {
	u32 stack_id;
	u32 pid;
	u64 lock_addr;
};

#define TASK_COMM_LEN  16

struct contention_task_data {
	char comm[TASK_COMM_LEN];
};

struct contention_data {
	u64 total_time;
	u64 min_time;
	u64 max_time;
	u32 count;
	u32 flags;
};

enum lock_aggr_mode {
	LOCK_AGGR_ADDR = 0,
	LOCK_AGGR_TASK,
	LOCK_AGGR_CALLER,
};

#endif /* UTIL_BPF_SKEL_LOCK_DATA_H */