]> git.baikalelectronics.ru Git - kernel.git/commit
bpf: cpumap: Add the possibility to attach an eBPF program to cpumap
authorLorenzo Bianconi <lorenzo@kernel.org>
Tue, 14 Jul 2020 13:56:38 +0000 (15:56 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 16 Jul 2020 15:00:32 +0000 (17:00 +0200)
commit52b18abf5a6b62aca5dcba6136618773a5147050
treee4ee557ea02621c4b98694a53f3b94c4e03cdc73
parent432afcba9f6814c4036b1ead6d4e92ef52c29764
bpf: cpumap: Add the possibility to attach an eBPF program to cpumap

Introduce the capability to attach an eBPF program to cpumap entries.
The idea behind this feature is to add the possibility to define on
which CPU run the eBPF program if the underlying hw does not support
RSS. Current supported verdicts are XDP_DROP and XDP_PASS.

This patch has been tested on Marvell ESPRESSObin using xdp_redirect_cpu
sample available in the kernel tree to identify possible performance
regressions. Results show there are no observable differences in
packet-per-second:

$./xdp_redirect_cpu --progname xdp_cpu_map0 --dev eth0 --cpu 1
rx: 354.8 Kpps
rx: 356.0 Kpps
rx: 356.8 Kpps
rx: 356.3 Kpps
rx: 356.6 Kpps
rx: 356.6 Kpps
rx: 356.7 Kpps
rx: 355.8 Kpps
rx: 356.8 Kpps
rx: 356.8 Kpps

Co-developed-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Link: https://lore.kernel.org/bpf/5c9febdf903d810b3415732e5cd98491d7d9067a.1594734381.git.lorenzo@kernel.org
include/linux/bpf.h
include/net/xdp.h
include/trace/events/xdp.h
include/uapi/linux/bpf.h
kernel/bpf/cpumap.c
net/core/dev.c
tools/include/uapi/linux/bpf.h