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>