lkml.org 
[lkml]   [2022]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCHv6 bpf-next 0/5] bpf: Speed up symbol resolving in kprobe multi link
Date
hi,
sending additional fix for symbol resolving in kprobe multi link
requested by Alexei and Andrii [1].

This speeds up bpftrace kprobe attachment, when using pure symbols
(3344 symbols) to attach:

Before:

# perf stat -r 5 -e cycles ./src/bpftrace -e 'kprobe:x* { } i:ms:1 { exit(); }'
...
6.5681 +- 0.0225 seconds time elapsed ( +- 0.34% )

After:

# perf stat -r 5 -e cycles ./src/bpftrace -e 'kprobe:x* { } i:ms:1 { exit(); }'
...
0.5661 +- 0.0275 seconds time elapsed ( +- 4.85% )

v6 changes:
- rewrote patch 1 changelog and fixed the line length [Christoph]

v5 changes:
- added acks [Masami]
- workaround in selftest for RCU warning by filtering out several
functions to attach

v4 changes:
- fix compile issue [kernel test robot]
- added acks [Andrii]

v3 changes:
- renamed kallsyms_lookup_names to ftrace_lookup_symbols
and moved it to ftrace.c [Masami]
- added ack [Andrii]
- couple small test fixes [Andrii]

v2 changes (first version [2]):
- removed the 2 seconds check [Alexei]
- moving/forcing symbols sorting out of kallsyms_lookup_names function [Alexei]
- skipping one array allocation and copy_from_user [Andrii]
- several small fixes [Masami,Andrii]
- build fix [kernel test robot]

thanks,
jirka


[1] https://lore.kernel.org/bpf/CAEf4BzZtQaiUxQ-sm_hH2qKPRaqGHyOfEsW96DxtBHRaKLoL3Q@mail.gmail.com/
[2] https://lore.kernel.org/bpf/20220407125224.310255-1-jolsa@kernel.org/
---
Jiri Olsa (5):
kallsyms: Make kallsyms_on_each_symbol generally available
ftrace: Add ftrace_lookup_symbols function
fprobe: Resolve symbols with ftrace_lookup_symbols
bpf: Resolve symbols with ftrace_lookup_symbols for kprobe multi link
selftests/bpf: Add attach bench test

include/linux/ftrace.h | 6 ++++
include/linux/kallsyms.h | 7 ++++-
kernel/kallsyms.c | 3 +-
kernel/trace/bpf_trace.c | 112 ++++++++++++++++++++++++++++++++++++++++++------------------------------
kernel/trace/fprobe.c | 32 ++++++++-------------
kernel/trace/ftrace.c | 62 ++++++++++++++++++++++++++++++++++++++++
tools/testing/selftests/bpf/prog_tests/kprobe_multi_test.c | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tools/testing/selftests/bpf/progs/kprobe_multi_empty.c | 12 ++++++++
8 files changed, 308 insertions(+), 69 deletions(-)
create mode 100644 tools/testing/selftests/bpf/progs/kprobe_multi_empty.c

\
 
 \ /
  Last update: 2022-05-10 14:27    [W:0.060 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site