[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed9a9e39-2828-50cd-9030-4d5b3503e800@google.com>
Date: Fri, 24 Nov 2023 11:24:11 -0800 (PST)
From: David Rientjes <rientjes@...gle.com>
To: Charan Teja Kalla <quic_charante@...cinc.com>
cc: akpm@...ux-foundation.org, mgorman@...hsingularity.net,
mhocko@...e.com, david@...hat.com, vbabka@...e.cz,
hannes@...xchg.org, quic_pkondeti@...cinc.com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH V3 1/2] mm: page_alloc: correct high atomic reserve
calculations
On Fri, 24 Nov 2023, Charan Teja Kalla wrote:
> reserve_highatomic_pageblock() aims to reserve the 1% of the managed
> pages of a zone, which is used for the high order atomic allocations.
>
> It uses the below calculation to reserve:
> static void reserve_highatomic_pageblock(struct page *page, ....) {
>
> .......
> max_managed = (zone_managed_pages(zone) / 100) + pageblock_nr_pages;
>
> if (zone->nr_reserved_highatomic >= max_managed)
> goto out;
>
> zone->nr_reserved_highatomic += pageblock_nr_pages;
> set_pageblock_migratetype(page, MIGRATE_HIGHATOMIC);
> move_freepages_block(zone, page, MIGRATE_HIGHATOMIC, NULL);
>
> out:
> ....
> }
>
> Since we are always appending the 1% of zone managed pages count to
> pageblock_nr_pages, the minimum it is turning into 2 pageblocks as the
> nr_reserved_highatomic is incremented/decremented in pageblock sizes.
>
> Encountered a system(actually a VM running on the Linux kernel) with the
> below zone configuration:
> Normal free:7728kB boost:0kB min:804kB low:1004kB high:1204kB
> reserved_highatomic:8192KB managed:49224kB
>
> The existing calculations making it to reserve the 8MB(with pageblock
> size of 4MB) i.e. 16% of the zone managed memory. Reserving such high
> amount of memory can easily exert memory pressure in the system thus may
> lead into unnecessary reclaims till unreserving of high atomic reserves.
>
> Since high atomic reserves are managed in pageblock size granules, as
> MIGRATE_HIGHATOMIC is set for such pageblock, fix the calculations for
> high atomic reserves as, minimum is pageblock size , maximum is
> approximately 1% of the zone managed pages.
>
> Acked-by: Mel Gorman <mgorman@...hsingularity.net>
> Signed-off-by: Charan Teja Kalla <quic_charante@...cinc.com>
Acked-by: David Rientjes <rientjes@...gle.com>
Powered by blists - more mailing lists