1
0
Fork 0
remarkable-linux/tools/testing/selftests/bpf
John Fastabend 34f79502bb bpf: avoid preempt enable/disable in sockmap using tcp_skb_cb region
SK_SKB BPF programs are run from the socket/tcp context but early in
the stack before much of the TCP metadata is needed in tcp_skb_cb. So
we can use some unused fields to place BPF metadata needed for SK_SKB
programs when implementing the redirect function.

This allows us to drop the preempt disable logic. It does however
require an API change so sk_redirect_map() has been updated to
additionally provide ctx_ptr to skb. Note, we do however continue to
disable/enable preemption around actual BPF program running to account
for map updates.

Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-10-20 13:01:29 +01:00
..
gnu selftests/bpf: get rid of -D__x86_64__ 2017-05-03 09:51:25 -04:00
include/uapi/linux selftests/bpf: fix broken build due to types.h 2017-05-17 18:45:14 -04:00
.gitignore bpf: Add test_tag to .gitignore 2017-02-10 15:56:08 -05:00
Makefile bpf: selftests add sockmap tests 2017-08-16 11:27:53 -07:00
bpf_endian.h samples/bpf: fix a build issue 2017-07-11 20:51:29 -07:00
bpf_helpers.h bpf: avoid preempt enable/disable in sockmap using tcp_skb_cb region 2017-10-20 13:01:29 +01:00
bpf_util.h selftests/bpf: Make bpf_util work on uniprocessor systems 2017-09-18 10:55:33 -06:00
config bpf: add initial suite for selftests 2016-10-18 11:35:55 -04:00
sockmap_parse_prog.c bpf: additional sockmap self tests 2017-08-28 11:13:21 -07:00
sockmap_verdict_prog.c bpf: avoid preempt enable/disable in sockmap using tcp_skb_cb region 2017-10-20 13:01:29 +01:00
test_align.c selftests/bpf: add tests for subtraction & negative numbers 2017-08-08 17:51:35 -07:00
test_iptunnel_common.h selftests/bpf: add a test for basic XDP functionality 2017-04-01 12:45:57 -07:00
test_kmod.sh selftests: do not require bash to run bpf tests 2017-01-05 13:19:47 -07:00
test_l4lb.c bpf: Move endianness BPF helpers out of bpf_util.h 2017-05-01 12:43:49 -07:00
test_lpm_map.c bpf: Remove bpf_sys.h from selftests 2017-02-10 15:56:08 -05:00
test_lru_map.c bpf: lru: Lower the PERCPU_NR_SCANS from 16 to 4 2017-04-17 13:55:52 -04:00
test_maps.c bpf: enforce TCP only support for sockmap 2017-10-20 13:01:29 +01:00
test_obj_id.c bpf: Fix test_obj_id.c for llvm 5.0 2017-06-09 15:15:11 -04:00
test_pkt_access.c selftests/bpf: fix broken build due to types.h 2017-05-17 18:45:14 -04:00
test_pkt_md_access.c bpf: fix selftest/bpf/test_pkt_md_access on s390x 2017-08-07 10:06:27 -07:00
test_progs.c selftests/bpf: check the instruction dumps are populated 2017-08-28 15:35:18 -07:00
test_tag.c bpf: Remove bpf_sys.h from selftests 2017-02-10 15:56:08 -05:00
test_tcp_estats.c selftests/bpf: add a test case to check verifier pointer arithmetic 2017-05-03 09:51:25 -04:00
test_verifier.c bpf: disallow arithmetic operations on context pointer 2017-10-18 13:21:13 +01:00
test_xdp.c selftests: bpf: Use bpf_endian.h in test_xdp.c 2017-05-02 07:52:01 -07:00
test_xdp_redirect.c selftests: bpf: add a test for XDP redirect 2017-08-08 18:12:50 -07:00
test_xdp_redirect.sh selftests: bpf: add check for ip XDP redirect 2017-08-11 14:57:31 -07:00