selftests/bpf: test map percpu stats
authorAnton Protopopov <aspsk@isovalent.com>
Thu, 6 Jul 2023 13:39:32 +0000 (13:39 +0000)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 6 Jul 2023 19:42:25 +0000 (12:42 -0700)
commit6c1b8cb6a70ad4b357fbc92fc9c5d6bc67593351
tree3dd763e474ee613eb2e36cebf78f9bd1dec72268
parent515ee52b2224f73f63ac031cbf400cd513d2f45b
selftests/bpf: test map percpu stats

Add a new map test, map_percpu_stats.c, which is checking the correctness of
map's percpu elements counters.  For supported maps the test upserts a number
of elements, checks the correctness of the counters, then deletes all the
elements and checks again that the counters sum drops down to zero.

The following map types are tested:

    * BPF_MAP_TYPE_HASH, BPF_F_NO_PREALLOC
    * BPF_MAP_TYPE_PERCPU_HASH, BPF_F_NO_PREALLOC
    * BPF_MAP_TYPE_HASH,
    * BPF_MAP_TYPE_PERCPU_HASH,
    * BPF_MAP_TYPE_LRU_HASH
    * BPF_MAP_TYPE_LRU_PERCPU_HASH
    * BPF_MAP_TYPE_LRU_HASH, BPF_F_NO_COMMON_LRU
    * BPF_MAP_TYPE_LRU_PERCPU_HASH, BPF_F_NO_COMMON_LRU
    * BPF_MAP_TYPE_HASH_OF_MAPS

Signed-off-by: Anton Protopopov <aspsk@isovalent.com>
Acked-by: Hou Tao <houtao1@huawei.com>
Link: https://lore.kernel.org/r/20230706133932.45883-6-aspsk@isovalent.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/map_tests/map_percpu_stats.c [new file with mode: 0644]
tools/testing/selftests/bpf/progs/map_percpu_stats.c [new file with mode: 0644]