Re: [PATCH 2/4] mm, compaction: Check if a page has been captured before draining PCP pages

From: Vlastimil Babka
Date: Tue Feb 07 2023 - 11:53:45 EST


On 1/25/23 14:44, Mel Gorman wrote:
> If a page has been captured then draining is unnecssary so check first
> for a captured page.
>
> Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

> ---
> mm/compaction.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/mm/compaction.c b/mm/compaction.c
> index c018b0e65720..28711a21a8a2 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -2441,6 +2441,12 @@ compact_zone(struct compact_control *cc, struct capture_control *capc)
> }
> }
>
> + /* Stop if a page has been captured */
> + if (capc && capc->page) {
> + ret = COMPACT_SUCCESS;
> + break;
> + }
> +
> check_drain:
> /*
> * Has the migration scanner moved away from the previous
> @@ -2459,12 +2465,6 @@ compact_zone(struct compact_control *cc, struct capture_control *capc)
> last_migrated_pfn = 0;
> }
> }
> -
> - /* Stop if a page has been captured */
> - if (capc && capc->page) {
> - ret = COMPACT_SUCCESS;
> - break;
> - }
> }
>
> out: