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_H 4 #define UTIL_BPF_SKEL_LOCK_DATA_H 5 6 struct contention_key { 7 u32 stack_id; 8 u32 pid; 9 u64 lock_addr; 10 }; 11 12 #define TASK_COMM_LEN 16 13 14 struct contention_task_data { 15 char comm[TASK_COMM_LEN]; 16 }; 17 18 struct contention_data { 19 u64 total_time; 20 u64 min_time; 21 u64 max_time; 22 u32 count; 23 u32 flags; 24 }; 25 26 enum lock_aggr_mode { 27 LOCK_AGGR_ADDR = 0, 28 LOCK_AGGR_TASK, 29 LOCK_AGGR_CALLER, 30 }; 31 32 #endif /* UTIL_BPF_SKEL_LOCK_DATA_H */ 33