mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-30 15:03:52 +00:00
feat(ebpf):[WIP] add eBPF support (#948)
* feat(kprobe): Add basic kprobe support for x86_64 * feat: add ebpf support (#912) - 实现bpf()一部分命令,包括几种基本map,相关的helper函数 - 实现部分perf相关的数据结构 - 暂时为文件实现简单mmap - 实现一个使用kprobe统计syscall 调用次数的ebpf程序 对eBPF支持程度(基本): - 简单的eBPF程序(没有指定特殊的Map) - 使用内核已经实现的Map的eBPF程序 - 可以和kprobe配合使用 - 内核Map相关的接口定义已经实现,添加新的Map较为简单 不支持的功能: - 区分不同的eBPF程序类型(Network/Cgroup)并限定可调用的helper函数集 - 与内核其它跟踪机制配合(tracepoint) - 其它helper和Map todo - [ ] 修改mmap,需要讨论,因为这个和块缓存层相关 - [x] 添加文档 - [x] 修复可能的错误 - [x] 增加rbpf版本信息 * feat: add /sys/devices/system/cpu/possible file * feat: add /sys/devices/system/cpu/online
This commit is contained in:
@ -24,6 +24,8 @@ kvm = []
|
||||
fatfs = []
|
||||
fatfs-secure = ["fatfs"]
|
||||
|
||||
# kprobe
|
||||
kprobe_test = []
|
||||
|
||||
# 运行时依赖项
|
||||
[dependencies]
|
||||
@ -58,8 +60,12 @@ wait_queue_macros = { path = "crates/wait_queue_macros" }
|
||||
paste = "=1.0.14"
|
||||
slabmalloc = { path = "crates/rust-slabmalloc" }
|
||||
log = "0.4.21"
|
||||
kprobe = { path = "crates/kprobe" }
|
||||
xarray = "0.1.0"
|
||||
lru = "0.12.3"
|
||||
|
||||
rbpf = { path = "crates/rbpf" }
|
||||
printf-compat = { version = "0.1.1", default-features = false }
|
||||
# target为x86_64时,使用下面的依赖
|
||||
[target.'cfg(target_arch = "x86_64")'.dependencies]
|
||||
mini-backtrace = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/mini-backtrace.git", rev = "e0b1d90940" }
|
||||
|
Reference in New Issue
Block a user