Re: lot of MemAvailable but falling cache and raising PSI

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

 



On Tue, Oct 22, 2019 at 12:02:13PM +0200, Stefan Priebe - Profihost AG wrote:
> 
> Am 22.10.19 um 09:48 schrieb Vlastimil Babka:
> > On 10/22/19 9:41 AM, Stefan Priebe - Profihost AG wrote:
> >>> Hi, could you try the patch below? I suspect you're hitting a corner
> >>> case where compaction_suitable() returns COMPACT_SKIPPED for the
> >>> ZONE_DMA, triggering reclaim even if other zones have plenty of free
> >>> memory. And should_continue_reclaim() then returns true until twice the
> >>> requested page size is reclaimed (compact_gap()). That means 4MB
> >>> reclaimed for each THP allocation attempt, which roughly matches the
> >>> trace data you preovided previously.
> >>>
> >>> The amplification to 4MB should be removed in patches merged for 5.4, so
> >>> it would be only 32 pages reclaimed per THP allocation. The patch below
> >>> tries to remove this corner case completely, and it should be more
> >>> visible on your 5.2.x, so please apply it there.
> >>>
> >> is there any reason to not apply that one on top of 4.19?
> >>
> >> Greets,
> >> Stefan
> >>
> > 
> > It should work, cherrypicks fine without conflict here.
> 
> OK but does not work ;-)
> 
> 
> mm/compaction.c: In function '__compaction_suitable':
> mm/compaction.c:1451:19: error: implicit declaration of function
> 'zone_managed_pages'; did you mean 'node_spanned_pages'?
> [-Werror=implicit-function-declaration]
>       alloc_flags, zone_managed_pages(zone)))
>                    ^~~~~~~~~~~~~~~~~~
>                    node_spanned_pages

zone_managed_pages() was introduced later.
On 4.19, you need zone->managed_pages.
So, changing zone_managed_pages(zone) to zone->managed_pages in that chunk
should make the trick.

> 
> Greets,
> Stefan
> 
> 
> 

-- 
Oscar Salvador
SUSE L3




[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