Re: order-0 page alloc failures during interrupt context on v6.6.43

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 29, 2024 at 4:48 PM Vlastimil Babka <vbabka@xxxxxxx> wrote:
> AFAICS:
>
> - __zone_watermark_unusable_free() for ALLOC_RESERVES (which includes
> ALLOC_NON_BLOCK which GFP_ATOMIC allocations have) does not subtract the
> reserve_highatomic, so the allocations pass the watermarks
> - but in rmqueue_buddy() only ALLOC_OOM is able to fallback into highatomic
> - unreserve_highatomic_pageblock() is only called from reclaim and there's
> no reclaim for GFP_ATOMIC
>
> (also worth checking if kswapd even does anything if free > high, but it's
> all highatomic, maybe not? so it can't help us here)

As far as I can tell we'll wake kswapd but like you said because free
> high it thinks the pgdat is balanced.

How is the system supposed to recover in this situation? Wait for a
non-atomic alloc to fail and enter direct reclaim?





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux