Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v6.17-rc2 62 lines 1.7 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#pragma once 3 4enum summary_field { 5 SUMMARY_CURRENT, 6 SUMMARY_MIN, 7 SUMMARY_MAX, 8 SUMMARY_COUNT, 9 SUMMARY_SUM, 10 SUMMARY_OVERFLOW, 11 SUMMARY_FIELD_N 12}; 13 14#ifndef __bpf__ 15#ifdef HAVE_BPF_SKEL 16int timerlat_bpf_init(struct timerlat_params *params); 17int timerlat_bpf_attach(void); 18void timerlat_bpf_detach(void); 19void timerlat_bpf_destroy(void); 20int timerlat_bpf_wait(int timeout); 21int timerlat_bpf_restart_tracing(void); 22int timerlat_bpf_get_hist_value(int key, 23 long long *value_irq, 24 long long *value_thread, 25 long long *value_user, 26 int cpus); 27int timerlat_bpf_get_summary_value(enum summary_field key, 28 long long *value_irq, 29 long long *value_thread, 30 long long *value_user, 31 int cpus); 32 33static inline int have_libbpf_support(void) { return 1; } 34#else 35static inline int timerlat_bpf_init(struct timerlat_params *params) 36{ 37 return -1; 38} 39static inline int timerlat_bpf_attach(void) { return -1; } 40static inline void timerlat_bpf_detach(void) { }; 41static inline void timerlat_bpf_destroy(void) { }; 42static inline int timerlat_bpf_wait(int timeout) { return -1; } 43static inline int timerlat_bpf_restart_tracing(void) { return -1; }; 44static inline int timerlat_bpf_get_hist_value(int key, 45 long long *value_irq, 46 long long *value_thread, 47 long long *value_user, 48 int cpus) 49{ 50 return -1; 51} 52static inline int timerlat_bpf_get_summary_value(enum summary_field key, 53 long long *value_irq, 54 long long *value_thread, 55 long long *value_user, 56 int cpus) 57{ 58 return -1; 59} 60static inline int have_libbpf_support(void) { return 0; } 61#endif /* HAVE_BPF_SKEL */ 62#endif /* __bpf__ */