On Sat, Feb 14, 2026 at 3:54 AM Anand Kumar Shaw
<[email protected]> wrote:
>
> When creating LRU hash maps with BPF_F_NO_COMMON_LRU, the kernel
> silently rounds max_entries up to a multiple of num_possible_cpus()
> in htab_map_alloc() to ensure each per-CPU LRU list has at least one
> element. However, the original value requested by the caller is lost --
> map->max_entries is overwritten with the rounded value.
>
> This creates a problem for userspace map managers (e.g., Cilium) that
> reconcile map parameters against their configured values. When the
> kernel-reported max_entries differs from the originally requested value,
> the reconciliation logic detects a "mismatch" and may enter an infinite
> delete-recreate loop, as seen in production incidents where non-power-
> of-2 CPU counts caused small but persistent rounding differences.

Clearly a user space issue.
The kernel side never promised to keep max_entries constant.

pw-bot: cr

Reply via email to