samples/bpf: add lpm-trie benchmark
authorDavid Herrmann <dh.herrmann@gmail.com>
Sat, 21 Jan 2017 16:26:13 +0000 (17:26 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 23 Jan 2017 21:10:38 +0000 (16:10 -0500)
commitb8a943e2942296aad37a8e7adc43db493413e54b
tree60d9d1e583a232e729f965670b2e21dd14a6bc84
parent4d3381f5a322dd5db2477e224821790478488173
samples/bpf: add lpm-trie benchmark

Extend the map_perf_test_{user,kern}.c infrastructure to stress test
lpm-trie lookups. We hook into the kprobe on sys_gettid() and measure
the latency depending on trie size and lookup count.

On my Intel Haswell i7-6400U, a single gettid() syscall with an empty
bpf program takes roughly 6.5us on my system. Lookups in empty tries
take ~1.8us on first try, ~0.9us on retries. Lookups in tries with 8192
entries take ~7.1us (on the first _and_ any subsequent try).

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Daniel Mack <daniel@zonque.org>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
samples/bpf/map_perf_test_kern.c
samples/bpf/map_perf_test_user.c