[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230726130620.7cd312fdd07722f6050e8bb8@linux-foundation.org>
Date: Wed, 26 Jul 2023 13:06:20 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Johannes Weiner <hannes@...xchg.org>
Cc: Vlastimil Babka <vbabka@...e.cz>,
Mel Gorman <mgorman@...hsingularity.net>,
Roman Gushchin <roman.gushchin@...ux.dev>,
Rik van Riel <riel@...riel.com>,
Joonsoo Kim <js1304@...il.com>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
Zhaoyang Huang <zhaoyang.huang@...soc.com>
Subject: Re: [PATCH v2] mm: page_alloc: consume available CMA space first
On Wed, 26 Jul 2023 11:07:05 -0400 Johannes Weiner <hannes@...xchg.org> wrote:
> On a memcache setup with heavy anon usage and no swap, we routinely
> see premature OOM kills with multiple gigabytes of free space left:
>
> Node 0 Normal free:4978632kB [...] free_cma:4893276kB
>
> This free space turns out to be CMA. We set CMA regions aside for
> potential hugetlb users on all of our machines, figuring that even if
> there aren't any, the memory is available to userspace allocations.
>
> When the OOMs trigger, it's from unmovable and reclaimable allocations
> that aren't allowed to dip into CMA. The non-CMA regions meanwhile are
> dominated by the anon pages.
>
> Movable pages can be migrated out of CMA when necessary, but we don't
> have a mechanism to migrate them *into* CMA to make room for unmovable
> allocations. The only recourse we have for these pages is reclaim,
> which due to a lack of swap is unavailable in our case.
>
> Because we have more options for CMA pages, change the policy to
> always fill up CMA first. This reduces the risk of premature OOMs.
This conflicts significantly (and more than textually) with "mm:
optimization on page allocation when CMA enabled", which has been
languishing in mm-unstable in an inadequately reviewed state since May
11. Please suggest a way forward?
Powered by blists - more mailing lists