Re: [RFC PATCH 14/26] mm: compaction: simplify should_compact_retry()

Mel Gorman
2023-04-21T14:37:15Z

On Tue, Apr 18, 2023 at 03:13:01PM -0400, Johannes Weiner wrote:
> The different branches for retry are unnecessarily complicated. There
> is really only three outcomes: progress, skipped, failed. Also, the
> retry counter only applies to loops that made progress, move it there.
>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
> ---
> mm/page_alloc.c | 60 +++++++++++++++++--------------------------------
> 1 file changed, 20 insertions(+), 40 deletions(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index c3b7dc479936..18fa2bbba44b 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -4608,7 +4608,6 @@ should_compact_retry(struct alloc_context *ac, int order, int alloc_flags,
> enum compact_priority *compact_priority,
> int *compaction_retries)
> {
> - int max_retries = MAX_COMPACT_RETRIES;
> int min_priority;
> bool ret = false;
> int retries = *compaction_retries;

Think this breaks build because of trace_compact_retry and max_retries is
declared in a different scope on the next hunk.

Again, move this to a preparation series. I didn't actually think about
this patch at all because I'm trying to reach the main purpose of the series
and it's now late on a Friday so I'll probably fail or forget by Monday.

--
Mel Gorman
SUSE Labs