linux/kernel/bpf
Pawan Gupta b72e29e0f7 bpf: Prefer dirty packs for eBPF allocations
The pack allocator only flushes predictors when reusing a dirty pack for
cBPF, eBPF allocations never trigger a flush. Currently, eBPF picks the
first free pack, which could be a clean pack. As an optimization, leaving
a clean pack for cBPF can avoid flushes.

Prefer dirty packs for eBPF and keep clean packs free for cBPF. This
mirrors the existing cBPF preference for clean packs: each program kind
prefers the pack that avoids an extra flush, and falls back to the other
kind only when no preferred pack has room. eBPF reuse of a dirty pack is
harmless since eBPF being privileged does not flush.

Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2026-07-01 10:34:41 +02:00
..
preload
arena.c mm.git review status for mm-hotfixes-stable..mm-stable 2026-06-19 10:14:34 -07:00
arraymap.c bpf: Cancel special fields on map value recycle 2026-06-09 21:23:11 -07:00
backtrack.c
bloom_filter.c
bpf_cgrp_storage.c
bpf_inode_storage.c bpf: Reject BPF_MAP_TYPE_INODE_STORAGE creation if BPF LSM is uninitialized 2026-06-30 16:31:56 +02:00
bpf_insn_array.c
bpf_iter.c
bpf_local_storage.c
bpf_lru_list.c bpf: Fix NMI/tracepoint re-entry deadlock on lru locks 2026-06-07 18:46:13 -07:00
bpf_lru_list.h bpf: Fix NMI/tracepoint re-entry deadlock on lru locks 2026-06-07 18:46:13 -07:00
bpf_lsm_proto.c
bpf_lsm.c bpf: Disable xfrm_decode_session hook attachment 2026-06-22 20:08:37 -07:00
bpf_struct_ops.c bpf: Add struct bpf_tramp_node object 2026-06-07 10:03:01 -07:00
bpf_task_storage.c
btf_iter.c
btf_relocate.c
btf.c bpf: Allow type tag BTF records to succeed other modifier records 2026-06-21 17:59:44 -07:00
cfg.c
cgroup_iter.c
cgroup.c bpf: Fix effective prog array index with BPF_F_PREORDER 2026-06-21 18:10:04 -07:00
check_btf.c
cnum_defs.h
cnum.c
const_fold.c
core.c bpf: Prefer dirty packs for eBPF allocations 2026-07-01 10:34:41 +02:00
cpumap.c
cpumask.c
crypto.c
devmap.c bpf: Run generic devmap egress prog on private skb 2026-06-12 18:21:01 -07:00
disasm.c bpf: Mask pseudo pointer values in verifier logs 2026-06-25 17:59:04 -07:00
disasm.h
dispatcher.c bpf: Restrict JIT predictor flush to cBPF 2026-07-01 10:33:38 +02:00
dmabuf_iter.c
fixups.c bpf: Add support for tracing_multi link session 2026-06-07 10:03:01 -07:00
hashtab.c bpf: Cancel special fields on map value recycle 2026-06-09 21:23:11 -07:00
helpers.c mm.git review status for mm-hotfixes-stable..mm-nonmm-stable 2026-06-21 13:20:19 -07:00
inode.c bpf-next-7.2 2026-06-17 09:18:14 +01:00
Kconfig
kmem_cache_iter.c
link_iter.c
liveness.c
local_storage.c
log.c bpf: Refactor object relationship tracking and fix dynptr UAF bug 2026-06-01 18:31:41 -07:00
lpm_trie.c bpf: Allow LPM map access from sleepable BPF programs 2026-06-09 12:42:22 -07:00
Makefile
map_in_map.c bpf: Reject exclusive maps as inner maps in map-in-map 2026-06-01 18:36:40 -07:00
map_in_map.h
map_iter.c bpf: Implement iteration ops for resizable hashtab 2026-06-05 08:00:08 -07:00
memalloc.c
mmap_unlock_work.h
mprog.c
net_namespace.c
offload.c
percpu_freelist.c
percpu_freelist.h
prog_iter.c
queue_stack_maps.c
range_tree.c
range_tree.h
relo_core.c
reuseport_array.c
ringbuf.c
rqspinlock.c
rqspinlock.h
stackmap.c bpf: Fix build_id caching in stack_map_get_build_id_offset() 2026-06-21 17:58:14 -07:00
states.c bpf: Preserve pointer spill metadata during half-slot cleanup 2026-06-22 13:39:34 -07:00
stream.c
syscall.c bpf: Fix BPF_PROG_ASSOC_STRUCT_OPS last field check 2026-06-21 18:09:07 -07:00
sysfs_btf.c
task_iter.c
tcx.c
tnum.c
token.c
trampoline.c bpf: Add support for tracing_multi link session 2026-06-07 10:03:01 -07:00
verifier.c bpf: Fix insn_aux_data leak on verifier err_free_env path 2026-06-25 18:23:56 -07:00