You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CO-RE relocations are currently performed against vmlinux types only.
If a program attaches to a function in a kernel module we also
relocate against types in that module. This has the downside that
it's not possible to inspect a variable with a type defined in a
kernel module when tracing a function in vmlinux itself.
The historical reason for this is that our BTF parsing was quite
expensive. Now that we have lazy loading we can afford to relocate
against all types in the kernel.
Below is the change in performance against the last release:
core: 1
goos: linux
goarch: amd64
pkg: github.com/cilium/ebpf
cpu: 13th Gen Intel(R) Core(TM) i7-1365U
│ base.txt │ all.txt │
│ sec/op │ sec/op vs base │
NewCollectionManyProgs 336.94m ± 205% 16.38m ± 2% -95.14% (p=0.002 n=6)
│ base.txt │ all.txt │
│ B/op │ B/op vs base │
NewCollectionManyProgs 112.541Mi ± 45% 4.011Mi ± 0% -96.44% (p=0.002 n=6)
│ base.txt │ all.txt │
│ allocs/op │ allocs/op vs base │
NewCollectionManyProgs 386.00k ± 202% 39.78k ± 0% -89.70% (p=0.002 n=6)
Fixes: #1511
Signed-off-by: Lorenz Bauer <[email protected]>
0 commit comments