[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <df866e1b-a052-4323-8662-cef5d924fa2b@suse.cz>
Date: Thu, 25 May 2023 11:57:01 +0200
From: Vlastimil Babka <vbabka@...e.cz>
To: Mel Gorman <mgorman@...hsingularity.net>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Jiri Slaby <jirislaby@...nel.org>,
Maxim Levitsky <mlevitsk@...hat.com>,
Michal Hocko <mhocko@...nel.org>,
Pedro Falcato <pedro.falcato@...il.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Chuyi Zhou <zhouchuyi@...edance.com>,
Linux-MM <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/4] mm: compaction: Ensure rescanning only happens on
partially scanned pageblocks
On 5/15/23 13:33, Mel Gorman wrote:
> compact_zone() intends to rescan pageblocks if there is a failure to
> migrate "within the current order-aligned block". However, the pageblock
> scan may already be complete and moved to the next block causing the
> next pageblock to be "rescanned". Ensure only the most recent pageblock
> is rescanned.
>
> Reported-by: Vlastimil Babka <vbabka@...e.cz>
> Signed-off-by: Mel Gorman <mgorman@...hsingularity.net>
Acked-by: Vlastimil Babka <vbabka@...e.cz>
> ---
> mm/compaction.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/mm/compaction.c b/mm/compaction.c
> index c8bcdea15f5f..81791c124bb8 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -2464,8 +2464,9 @@ compact_zone(struct compact_control *cc, struct capture_control *capc)
> * fast_find_migrateblock revisiting blocks that were
> * recently partially scanned.
> */
> - if (cc->direct_compaction && !cc->finish_pageblock &&
> - (cc->mode < MIGRATE_SYNC)) {
> + if (!pageblock_aligned(cc->migrate_pfn) &&
> + cc->direct_compaction && !cc->finish_pageblock &&
> + (cc->mode < MIGRATE_SYNC)) {
> cc->finish_pageblock = true;
>
> /*
Powered by blists - more mailing lists