Re: [PATCH 28/28] mm, page_alloc: Defer debugging checks of pages allocated from the PCP

From: Mel Gorman
Date: Wed Apr 27 2016 - 11:31:31 EST


On Wed, Apr 27, 2016 at 04:06:11PM +0200, Vlastimil Babka wrote:
> From afdefd87f2d8d07cba4bd2a2f3531dc8bb0b7a19 Mon Sep 17 00:00:00 2001
> From: Vlastimil Babka <vbabka@xxxxxxx>
> Date: Wed, 27 Apr 2016 15:47:29 +0200
> Subject: [PATCH] mm, page_alloc: uninline the bad page part of
> check_new_page()
>
> Bad pages should be rare so the code handling them doesn't need to be inline
> for performance reasons. Put it to separate function which returns void.
> This also assumes that the initial page_expected_state() result will match the
> result of the thorough check, i.e. the page doesn't become "good" in the
> meanwhile. This matches the same expectations already in place in
> free_pages_check().
>
> !DEBUG_VM bloat-o-meter:
>
> add/remove: 1/0 grow/shrink: 0/1 up/down: 134/-274 (-140)
> function old new delta
> check_new_page_bad - 134 +134
> get_page_from_freelist 3468 3194 -274
>
> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>

Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

Andrew, if you pick up v2 of of the follow-up series then can you also
add this patch on top if it's convenient please?

--
Mel Gorman
SUSE Labs