Path: blob/master/tools/tracing/rtla/src/timerlat_bpf.h
26285 views
/* SPDX-License-Identifier: GPL-2.0 */1#pragma once23enum summary_field {4SUMMARY_CURRENT,5SUMMARY_MIN,6SUMMARY_MAX,7SUMMARY_COUNT,8SUMMARY_SUM,9SUMMARY_OVERFLOW,10SUMMARY_FIELD_N11};1213#ifndef __bpf__14#ifdef HAVE_BPF_SKEL15int timerlat_bpf_init(struct timerlat_params *params);16int timerlat_bpf_attach(void);17void timerlat_bpf_detach(void);18void timerlat_bpf_destroy(void);19int timerlat_bpf_wait(int timeout);20int timerlat_bpf_restart_tracing(void);21int timerlat_bpf_get_hist_value(int key,22long long *value_irq,23long long *value_thread,24long long *value_user,25int cpus);26int timerlat_bpf_get_summary_value(enum summary_field key,27long long *value_irq,28long long *value_thread,29long long *value_user,30int cpus);3132static inline int have_libbpf_support(void) { return 1; }33#else34static inline int timerlat_bpf_init(struct timerlat_params *params)35{36return -1;37}38static inline int timerlat_bpf_attach(void) { return -1; }39static inline void timerlat_bpf_detach(void) { };40static inline void timerlat_bpf_destroy(void) { };41static inline int timerlat_bpf_wait(int timeout) { return -1; }42static inline int timerlat_bpf_restart_tracing(void) { return -1; };43static inline int timerlat_bpf_get_hist_value(int key,44long long *value_irq,45long long *value_thread,46long long *value_user,47int cpus)48{49return -1;50}51static inline int timerlat_bpf_get_summary_value(enum summary_field key,52long long *value_irq,53long long *value_thread,54long long *value_user,55int cpus)56{57return -1;58}59static inline int have_libbpf_support(void) { return 0; }60#endif /* HAVE_BPF_SKEL */61#endif /* __bpf__ */626364