mirror-linux/tools/testing
Leon Hwang 07bf7aa58e selftests/bpf: Add cases to test BPF_F_CPU and BPF_F_ALL_CPUS flags
Add test coverage for the new BPF_F_CPU and BPF_F_ALL_CPUS flags support
in percpu maps. The following APIs are exercised:

* bpf_map_update_batch()
* bpf_map_lookup_batch()
* bpf_map_update_elem()
* bpf_map__update_elem()
* bpf_map_lookup_elem_flags()
* bpf_map__lookup_elem()

For lru_percpu_hash map, set max_entries to
'libbpf_num_possible_cpus() + 1' and only use the first
'libbpf_num_possible_cpus()' entries. This ensures a spare entry is always
available in the LRU free list, avoiding eviction.

When updating an existing key in lru_percpu_hash map:

1. l_new = prealloc_lru_pop();  /* Borrow from free list */
2. l_old = lookup_elem_raw();   /* Found, key exists */
3. pcpu_copy_value();           /* In-place update */
4. bpf_lru_push_free();         /* Return l_new to free list */

Also add negative tests to verify that non-percpu array and hash maps
reject the BPF_F_CPU and BPF_F_ALL_CPUS flags.

Signed-off-by: Leon Hwang <leon.hwang@linux.dev>
Link: https://lore.kernel.org/r/20260107022022.12843-8-leon.hwang@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2026-01-06 20:48:32 -08:00
..
crypto/chacha20-s390
cxl Merge branch 'for-6.19/cxl-misc' into cxl-for-next 2025-11-18 16:27:58 -07:00
fault-injection
ktest ktest.pl: Fix uninitialized var in config-bisect.pl 2025-12-03 18:25:18 -05:00
kunit kunit: qemu_configs: Add MIPS configurations 2025-09-15 10:30:07 -06:00
memblock
nvdimm tools/testing/nvdimm: Use per-DIMM device handle 2025-11-03 16:47:13 -06:00
radix-tree Patch series in this pull request: 2025-10-02 18:44:54 -07:00
rbtree
scatterlist mm: remove nth_page() 2025-09-21 14:22:10 -07:00
selftests selftests/bpf: Add cases to test BPF_F_CPU and BPF_F_ALL_CPUS flags 2026-01-06 20:48:32 -08:00
shared Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
vma mm: introduce VMA flags bitmap type 2025-11-29 10:41:09 -08:00
vsock vsock/test: Extend transport change null-ptr-deref test 2025-11-25 19:16:21 -08:00