brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · de12892 Raw
58 lines · c
1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2/* Data structures shared between BPF and tools. */3#ifndef UTIL_BPF_SKEL_LOCK_DATA_H4#define UTIL_BPF_SKEL_LOCK_DATA_H5 6struct tstamp_data {7	u64 timestamp;8	u64 lock;9	u32 flags;10	s32 stack_id;11};12 13struct contention_key {14	s32 stack_id;15	u32 pid;16	u64 lock_addr_or_cgroup;17};18 19#define TASK_COMM_LEN  1620 21struct contention_task_data {22	char comm[TASK_COMM_LEN];23};24 25/* default buffer size */26#define MAX_ENTRIES  1638427 28/*29 * Upper bits of the flags in the contention_data are used to identify30 * some well-known locks which do not have symbols (non-global locks).31 */32#define LCD_F_MMAP_LOCK		(1U << 31)33#define LCD_F_SIGHAND_LOCK	(1U << 30)34 35#define LCB_F_MAX_FLAGS		(1U << 7)36 37struct contention_data {38	u64 total_time;39	u64 min_time;40	u64 max_time;41	u32 count;42	u32 flags;43};44 45enum lock_aggr_mode {46	LOCK_AGGR_ADDR = 0,47	LOCK_AGGR_TASK,48	LOCK_AGGR_CALLER,49	LOCK_AGGR_CGROUP,50};51 52enum lock_class_sym {53	LOCK_CLASS_NONE,54	LOCK_CLASS_RQLOCK,55};56 57#endif /* UTIL_BPF_SKEL_LOCK_DATA_H */58