]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
docs: bpf: map_array: Specify BPF_MAP_TYPE_PERCPU_ARRAY value size limit
authorAlex Tran <alex.t.tran@gmail.com>
Sat, 15 Nov 2025 06:35:31 +0000 (22:35 -0800)
committerAndrii Nakryiko <andrii@kernel.org>
Tue, 25 Nov 2025 22:32:00 +0000 (14:32 -0800)
Specify value size limit for BPF_MAP_TYPE_PERCPU_ARRAY which
is PCPU_MIN_UNIT_SIZE (32 kb). In percpu allocator (mm: percpu),
any request with a size greater than PCPU_MIN_UNIT_SIZE is rejected.

Signed-off-by: Alex Tran <alex.t.tran@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20251115063531.2302903-1-alex.t.tran@gmail.com
Documentation/bpf/map_array.rst

index f2f51a53e8aed57668b097b039e2cd8ed9616c11..fa56ff75190c8f8a1978641bbdca2427c581b4a1 100644 (file)
@@ -15,8 +15,9 @@ of constant size. The size of the array is defined in ``max_entries`` at
 creation time. All array elements are pre-allocated and zero initialized when
 created. ``BPF_MAP_TYPE_PERCPU_ARRAY`` uses a different memory region for each
 CPU whereas ``BPF_MAP_TYPE_ARRAY`` uses the same memory region. The value
-stored can be of any size, however, all array elements are aligned to 8
-bytes.
+stored can be of any size for ``BPF_MAP_TYPE_ARRAY`` and not more than
+``PCPU_MIN_UNIT_SIZE`` (32 kB) for ``BPF_MAP_TYPE_PERCPU_ARRAY``. All
+array elements are aligned to 8 bytes.
 
 Since kernel 5.5, memory mapping may be enabled for ``BPF_MAP_TYPE_ARRAY`` by
 setting the flag ``BPF_F_MMAPABLE``. The map definition is page-aligned and