yihong0618 和朋友们的频道 头像

消息来源频道

yihong0618 和朋友们的频道

@hyi0618

频道8,612 位成员公开可见0 人在线

yihong0618 和朋友们的频道

成员规模8,612 位成员
在线情况0 人在线
消息总数10,129 条消息
浏览量总数3,298,582 次浏览

在这个频道里搜索消息……

t.me/hyi0618

超开心! uprobe-multi 的最后一程终于也走完了,集成到了 cilium/ebpf : https://github.com/cilium/ebpf/pull/1269
作者 jiri olsa 在 https://lore.kernel.org/bpf/[email protected]/ 里给出的测试数据是:
Attaching current bpftrace to 1000 uprobes:
# BPFTRACE_MAX_PROBES=100000 perf stat -e cycles,instructions \
./bpftrace -e 'uprobe:./uprobe_multi:uprobe_multi_func_* { }, i:ms:1 { exit(); }'
...
126,666,390,509 cycles
29,973,207,307 instructions # 0.24 insn per cycle
85.284833554 seconds time elapsed
Same bpftrace setup with uprobe_multi support:
# perf stat -e cycles,instructions \
./bpftrace -e 'uprobe:./uprobe_multi:uprobe_multi_func_* { }, i:ms:1 { exit(); }'
...
6,818,470,649 cycles
13,275,510,122 instructions # 1.95 insn per cycle
1.943269451 seconds time elapsed
85s -> 2s !!!
如果和 bpftime 相比,数据出处是 https://lpc.events/event/17/contributions/1639/attachments/1280/2585/userspace-ebpf-bpftime-lpc.pdf 第20页,bpftime 把 load time 性能提高了十倍,但是 uprobe multi 提升了不止十倍啊!
大规模 uprobe 观测有救了!哭出声!我的破玩具项目似乎又可以捡起来了!