Available kernel features in userspace
- Available kernel features in userspace - Table of Contents - availbale map types - avaliable program types - available helpers - maps - kernel\helper\group - Others
Table of Contents
availbale map types
Userspace eBPF shared memory map types:
- BPF_MAP_TYPE_HASH
- BPF_MAP_TYPE_ARRAY
- BPF_MAP_TYPE_RINGBUF
- BPF_MAP_TYPE_PERF_EVENT_ARRAY
- BPF_MAP_TYPE_PERCPU_ARRAY
- BPF_MAP_TYPE_PERCPU_HASH
User-kernel shared maps:
- BPF_MAP_TYPE_HASH
- BPF_MAP_TYPE_ARRAY
- BPF_MAP_TYPE_PERCPU_ARRAY
- BPF_MAP_TYPE_PERF_EVENT_ARRAY
avaliable program types
Compatible with kernel eBPF program types:
- tracepoint:raw_syscalls:sys_enter
- tracepointsys_exit_*
- tracepointsys_enter_*
- uretprobe:*
- uprobe:*
- usdt:*
available helpers
maps
bpf_map_lookup_elem: Helper function for looking up an element in a BPF map.bpf_map_update_elem: Helper function for updating an element in a BPF map.bpf_map_delete_elem: Helper function for deleting an element from a BPF map.bpf_perf_event_outputfor perf eventsbpf_ringbuf_submitfor submitting ring buffer eventsbpf_ringbuf_reservefor reserving space for ring buffer
kernel_helper_group
bpf_probe_read,bpf_probe_read_user: Helper function for reading data from a userspace address.bpf_probe_write_user: Helper function for writing data to userspacebpf_ktime_get_ns,bpf_ktime_get_coarse_ns: Helper function for getting the current time in nanoseconds.bpf_trace_printk: Helper function for printing debug messages from eBPF programs.bpf_get_current_pid_tgid: Helper function for getting the current PID and TGID (Thread Group ID).bpf_get_current_uid_gid: Helper function for getting the current UID (User ID) and GID (Group ID).bpf_get_current_comm: Helper function for getting the current process's name.bpf_strncmp: Helper function for comparing two strings.bpf_get_func_arg: Helper function for getting the value of a function argument.bpf_get_func_ret: Helper function for getting the value of a function return ID.bpf_get_retval: Helper function for getting the return value of a function.bpf_set_retval: Helper function for setting the return value of a function.bpf_probe_read_str: Helper function for reading a null-terminated string from a user address.bpf_tail_call: tail call another userspace eBPF function or kernel eBPF programsbpftime_get_prandom_u32: get random valuebpf_override_return: change the control flow of the functions
Note: new helpers may be added without a document updated. Please see https://github.com/eunomia-bpf/bpftime/blob/master/runtime/src/bpf_helper.cpp for more details.
Others
- Support kernel or userspace verifier
- JIT/AOT support
- Test JIT with bpf_conformance
继续阅读
返回索引
bpftime document Userspace eBPF runtime for Observability, Network, GPU & General extensions Framework
High-performance userspace eBPF runtime. Run eBPF programs with 10x faster uprobe performance, cross-platform support, and no kernel requirements.
上一篇 / 上一页
Examples & Use Cases
- Examples \& Use Cases - Table of Contents - minimal examples - Tracing the system - Tracing userspace functions with uprobe - tracing all syscalls with tracepoints - bpftrace - Use bpftime to trace SPDK - BPF Features
下一篇 / 下一页
Write and Run eBPF on GPU with bpftime
bpftime provides GPU support through its CUDA/ROCm attachment implementation, enabling eBPF programs to execute within GPU kernels on NVIDIA and AMD GPUs. This brings eBPF's programmability, observability, and customizat
- 最后更新
- 2024年8月21日
- 首次发布
- 2024年1月13日
- 贡献者
- yunwei37, 云微
这个页面有帮助吗?