linux/tools/testing/selftests/bpf
Andrii Nakryiko 4670d68b92 selftests/bpf: adjust strobemeta loop to satisfy latest clang
Some recent changes in latest Clang started causing the following
warning when unrolling strobemeta test case main loop:

  progs/strobemeta.h:416:2: warning: loop not unrolled: the optimizer was
  unable to perform the requested transformation; the transformation might
  be disabled or specified as part of an unsupported transformation
  ordering [-Wpass-failed=transform-warning]

This patch simplifies loop's exit condition to depend only on constant
max iteration number (STROBE_MAX_MAP_ENTRIES), while moving early
termination logic inside the loop body. The changes are equivalent from
program logic standpoint, but fixes the warning. It also appears to
improve generated BPF code, as it fixes previously failing non-unrolled
strobemeta test cases.

Cc: Alexei Starovoitov <ast@fb.com>
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2019-09-25 22:17:11 +02:00
..
gnu selftests/bpf: get rid of -D__x86_64__ 2017-05-03 09:51:25 -04:00
include/uapi/linux License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
map_tests selftests/bpf: add test_sysctl and map_tests/tests.h to .gitignore 2019-05-16 11:41:31 -07:00
prog_tests selftests/bpf: test_progs: fix client/server race in tcp_rtt 2019-09-25 22:13:45 +02:00
progs selftests/bpf: adjust strobemeta loop to satisfy latest clang 2019-09-25 22:17:11 +02:00
verifier Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2019-09-06 16:49:17 +02:00
.gitignore selftests/bpf: test_progs: convert test_tcp_rtt 2019-09-06 09:59:06 -07:00
bpf_endian.h selftests/bpf: introduce bpf_cpu_to_be64 and bpf_be64_to_cpu 2019-09-03 21:01:52 +02:00
bpf_helpers.h selftests/bpf: add bpf-gcc support 2019-09-16 09:32:00 +02:00
bpf_rand.h bpf: add ld64 imm test cases 2018-05-14 19:11:45 -07:00
bpf_rlimit.h bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
bpf_util.h bpf: use libbpf_num_possible_cpus internally 2019-06-11 10:36:02 +02:00
cgroup_helpers.c selftests/bpf: signedness bug in enable_all_controllers() 2019-06-15 01:14:07 +02:00
cgroup_helpers.h selftests/bpf: Fix const'ness in cgroup_helpers 2018-07-15 00:08:41 +02:00
config selftests/bpf: add config fragment BPF_JIT 2019-08-21 17:05:06 +02:00
flow_dissector_load.c selftests/bpf: run flow dissector tests in skb-less mode 2019-04-23 18:36:34 +02:00
flow_dissector_load.h selftests/bpf: properly return error from bpf_flow_load 2019-04-23 18:36:34 +02:00
get_cgroup_id_user.c tools/bpf: fix selftest get_cgroup_id_user 2018-06-08 00:10:07 +02:00
Makefile selftests/bpf: add bpf-gcc support 2019-09-16 09:32:00 +02:00
netcnt_common.h selftests/bpf: cgroup local storage-based network counters 2018-10-01 16:18:33 +02:00
tcp_client.py selftests/bpf: use localhost in tcp_{server,client}.py 2019-02-04 21:29:27 +01:00
tcp_server.py selftests/bpf: use localhost in tcp_{server,client}.py 2019-02-04 21:29:27 +01:00
test_align.c selftests/bpf: fix test_align liveliness expectations 2019-07-06 00:16:56 +02:00
test_bpftool_build.sh tools: bpftool: improve and check builds for different make invocations 2019-08-31 00:38:16 +02:00
test_btf_dump.c selftests/bpf: fix test_btf_dump with O= 2019-08-21 17:00:59 +02:00
test_btf.c selftests/bpf: add trickier size resolution tests 2019-07-15 23:02:17 +02:00
test_btf.h bpf: Refactor BTF encoding macro to test_btf.h 2019-04-27 09:07:05 -07:00
test_cgroup_attach.c selftests/bpf: add auto-detach test 2019-05-28 09:30:02 -07:00
test_cgroup_storage.c selftests/bpf: fix test_cgroup_storage on s390 2019-08-21 16:55:01 +02:00
test_dev_cgroup.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
test_flow_dissector.c selftests: bpf: remove duplicated include 2019-01-29 00:09:26 +01:00
test_flow_dissector.sh selftests/bpf: rename flow dissector section to flow_dissector 2018-11-10 15:56:10 -08:00
test_hashmap.c selftests/bpf: add tests for libbpf's hashmap 2019-05-24 14:05:57 -07:00
test_iptunnel_common.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
test_kmod.sh selftests: bpf: notification about privilege required to run test_kmod.sh testing script 2018-06-22 00:30:02 +02:00
test_libbpf_open.c selftests/bpf: set RLIMIT_MEMLOCK properly for test_libbpf_open.c 2019-05-04 23:23:51 -07:00
test_libbpf.sh selftests/bpf: enable (uncomment) all tests in test_libbpf.sh 2018-11-07 22:20:56 +01:00
test_lirc_mode2_user.c media: bpf: add bpf function to report mouse movement 2018-12-09 14:37:18 -08:00
test_lirc_mode2.sh media: bpf: add bpf function to report mouse movement 2018-12-09 14:37:18 -08:00
test_lpm_map.c bpf: lpm_trie: check left child of last leftmost node for NULL 2019-06-11 13:52:37 +02:00
test_lru_map.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
test_lwt_ip_encap.sh selftests: bpf: add VRF test cases to lwt_ip_encap test. 2019-04-16 19:19:51 -07:00
test_lwt_seg6local.sh selftests/bpf: update test_lwt_seg6local.sh according to iproute2 2018-08-03 10:19:33 +02:00
test_maps.c tools: Add definitions for devmap_hash map type 2019-07-29 13:50:48 -07:00
test_maps.h bpf: Add BPF_MAP_TYPE_SK_STORAGE test to test_maps 2019-04-27 09:07:05 -07:00
test_netcnt.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
test_offload.py selftests/bpf: Fix a typo in test_offload.py 2019-08-31 01:00:28 +02:00
test_progs.c selftests/bpf: test_progs: add test__join_cgroup helper 2019-09-06 09:59:05 -07:00
test_progs.h selftests/bpf: test_progs: convert test_sockopt_sk 2019-09-06 09:59:05 -07:00
test_queue_stack_map.h selftests/bpf: convert legacy BPF maps to BTF-defined ones 2019-07-05 22:52:25 +02:00
test_section_names.c selftests/bpf: test sockopt section name 2019-06-27 15:25:17 -07:00
test_select_reuseport_common.h bpf: Test BPF_PROG_TYPE_SK_REUSEPORT 2018-08-11 01:58:46 +02:00
test_select_reuseport.c bpf: Add test for SO_REUSEPORT_DETACH_BPF 2019-06-15 01:21:50 +02:00
test_skb_cgroup_id_user.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
test_skb_cgroup_id.sh kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists 2018-10-31 23:05:30 +01:00
test_sock_addr.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
test_sock_addr.sh kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists 2018-10-31 23:05:30 +01:00
test_sock_fields.c selftests: bpf: enable hi32 randomization for all tests 2019-05-24 18:58:37 -07:00
test_sock.c selftests/bpf: fix "bind{4, 6} deny specific IP & port" on s390 2019-08-14 22:51:35 +02:00
test_socket_cookie.c selftests/bpf: convert socket_cookie test to sk storage 2019-06-15 01:21:59 +02:00
test_sockmap_kern.h selftests/bpf: convert legacy BPF maps to BTF-defined ones 2019-07-05 22:52:25 +02:00
test_sockmap.c selftests: bpf: remove duplicated include 2019-01-29 00:09:26 +01:00
test_stub.c selftests: bpf: enable hi32 randomization for all tests 2019-05-24 18:58:37 -07:00
test_sysctl.c selftests/bpf: delete unused variables in test_sysctl 2019-09-25 22:16:17 +02:00
test_tag.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_tc_edt.sh selftests: bpf: tc-bpf flow shaping with EDT 2019-03-22 18:16:44 -07:00
test_tc_tunnel.sh selftests/bpf: expand test_tc_tunnel with SIT encap 2019-04-24 01:32:26 +02:00
test_tcp_check_syncookie_user.c selftests/bpf: add test for bpf_tcp_gen_syncookie 2019-07-30 21:03:05 -07:00
test_tcp_check_syncookie.sh selftests/bpf: add test for bpf_tcp_gen_syncookie 2019-07-30 21:03:05 -07:00
test_tcpbpf_user.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
test_tcpbpf.h selftests/bpf: Test case for BPF_SOCK_OPS_TCP_LISTEN_CB 2018-07-15 00:08:41 +02:00
test_tcpnotify_user.c selftests/bpf: switch test_tcpnotify to perf_buffer API 2019-07-23 16:05:42 -07:00
test_tcpnotify.h selftests/bpf: add a test case for sock_ops perf-event notification 2018-11-09 09:40:17 +01:00
test_tunnel.sh selftests/bpf: fail test_tunnel.sh if subtests fail 2019-05-28 11:08:57 +02:00
test_verifier_log.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_verifier.c selftests/bpf: verifier precise tests 2019-08-28 00:30:11 +02:00
test_xdp_meta.sh tools/bpf: fix batch-mode test failure of test_xdp_redirect.sh 2018-02-06 11:34:42 +01:00
test_xdp_redirect.sh tools/bpf: fix batch-mode test failure of test_xdp_redirect.sh 2018-02-06 11:34:42 +01:00
test_xdp_veth.sh selftests, bpf: Add test for veth native XDP 2019-06-24 18:18:30 -07:00
test_xdp_vlan_mode_generic.sh selftests/bpf: add wrapper scripts for test_xdp_vlan.sh 2019-08-05 11:17:40 -07:00
test_xdp_vlan_mode_native.sh selftests/bpf: add wrapper scripts for test_xdp_vlan.sh 2019-08-05 11:17:40 -07:00
test_xdp_vlan.sh selftests/bpf: reduce time to execute test_xdp_vlan.sh 2019-08-05 11:17:40 -07:00
test_xdping.sh selftests/bpf: measure RTT from xdp using xdping 2019-05-31 19:53:45 -07:00
trace_helpers.c selftests/bpf: remove perf buffer helpers 2019-07-23 16:05:42 -07:00
trace_helpers.h selftests/bpf: remove perf buffer helpers 2019-07-23 16:05:42 -07:00
urandom_read.c selftests: bpf: modify urandom_read and link it non-statically 2019-03-21 19:37:30 -07:00
with_addr.sh selftests/bpf: test bpf flow dissection 2018-09-14 12:04:33 -07:00
with_tunnels.sh selftests/bpf: test bpf flow dissection 2018-09-14 12:04:33 -07:00
xdping.c selftests/bpf: measure RTT from xdp using xdping 2019-05-31 19:53:45 -07:00
xdping.h selftests/bpf: measure RTT from xdp using xdping 2019-05-31 19:53:45 -07:00