Re: [REGRESSION] kswapd0: page allocation failure (bisected to "slab: add sheaves to most caches")

From: Mikhail Gavrilov

Date: Tue Feb 24 2026 - 21:00:23 EST


I can confirm this issue on my system:

Hardware: ASUS ROG STRIX B650E-I (AMD Ryzen), 64GB RAM
Storage: btrfs with zram swap
Kernel: 7.0.0-rc1 (commit 6de23f81a5e0+)

I was seeing the same kswapd0 page allocation failures periodically
under memory pressure with the identical call trace through
alloc_from_pcs -> __pcs_replace_empty_main -> refill_objects ->
allocate_slab.

Chris's btrfs __GFP_NOWARN patch suppresses the btrfs-originated
warnings, but after ~10 hours I hit the same sheaf refill failure
from a different caller -- amdgpu via kmalloc:

chrome: page allocation failure: order:0,
mode:0xc0cc0(GFP_KERNEL|__GFP_COMP|__GFP_NOMEMALLOC)

allocate_slab
refill_objects
__pcs_replace_empty_main
__kmalloc_cache_noprof
drm_suballoc_new
amdgpu_sa_bo_new

This confirms the fix needs to be on the slab side as Harry
suggested -- adding __GFP_NOWARN to sheaf refill when there's
a fallback path -- rather than patching individual callers.

Happy to test any slab-side fix.

Tested-by: Mikhail Gavrilov <mikhail.v.gavrilov@xxxxxxxxx>