1 /* SPDX-License-Identifier: GPL-2.0 */
2 #pragma once
3
4 enum 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
16 int timerlat_bpf_init(struct timerlat_params *params);
17 int timerlat_bpf_attach(void);
18 void timerlat_bpf_detach(void);
19 void timerlat_bpf_destroy(void);
20 int timerlat_bpf_wait(int timeout);
21 int timerlat_bpf_get_hist_value(int key,
22 long long *value_irq,
23 long long *value_thread,
24 long long *value_user,
25 int cpus);
26 int timerlat_bpf_get_summary_value(enum summary_field key,
27 long long *value_irq,
28 long long *value_thread,
29 long long *value_user,
30 int cpus);
have_libbpf_support(void)31 static inline int have_libbpf_support(void) { return 1; }
32 #else
timerlat_bpf_init(struct timerlat_params * params)33 static inline int timerlat_bpf_init(struct timerlat_params *params)
34 {
35 return -1;
36 }
timerlat_bpf_attach(void)37 static inline int timerlat_bpf_attach(void) { return -1; }
timerlat_bpf_detach(void)38 static inline void timerlat_bpf_detach(void) { };
timerlat_bpf_destroy(void)39 static inline void timerlat_bpf_destroy(void) { };
timerlat_bpf_wait(int timeout)40 static inline int timerlat_bpf_wait(int timeout) { return -1; }
timerlat_bpf_get_hist_value(int key,long long * value_irq,long long * value_thread,long long * value_user,int cpus)41 static inline int timerlat_bpf_get_hist_value(int key,
42 long long *value_irq,
43 long long *value_thread,
44 long long *value_user,
45 int cpus)
46 {
47 return -1;
48 }
timerlat_bpf_get_summary_value(enum summary_field key,long long * value_irq,long long * value_thread,long long * value_user,int cpus)49 static inline int timerlat_bpf_get_summary_value(enum summary_field key,
50 long long *value_irq,
51 long long *value_thread,
52 long long *value_user,
53 int cpus)
54 {
55 return -1;
56 }
have_libbpf_support(void)57 static inline int have_libbpf_support(void) { return 0; }
58 #endif /* HAVE_BPF_SKEL */
59 #endif /* __bpf__ */
60