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

Johannes Weiner
2023-04-25T02:16:04Z

On Fri, Apr 21, 2023 at 03:36:54PM +0100, Mel Gorman wrote:
> 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.

Right you are. Will fix. Thanks!