From: Mel Gorman <mgorman@techsingularity.net>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Jiri Slaby <jirislaby@kernel.org>,
Maxim Levitsky <mlevitsk@redhat.com>,
Michal Hocko <mhocko@kernel.org>,
Pedro Falcato <pedro.falcato@gmail.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Chuyi Zhou <zhouchuyi@bytedance.com>,
Linux-MM <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
Mel Gorman <mgorman@techsingularity.net>
Subject: [PATCH 1/4] mm: compaction: Ensure rescanning only happens on partially scanned pageblocks
Date: Mon, 15 May 2023 12:33:41 +0100 [thread overview]
Message-ID: <20230515113344.6869-2-mgorman@techsingularity.net> (raw)
In-Reply-To: <20230515113344.6869-1-mgorman@techsingularity.net>
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@suse.cz>
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
---
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;
/*
--
2.35.3
next prev parent reply other threads:[~2023-05-15 11:34 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-15 11:33 [PATCH 0/4] Follow-up "Fix excessive CPU usage during compaction" Mel Gorman
2023-05-15 11:33 ` Mel Gorman [this message]
2023-05-25 9:57 ` [PATCH 1/4] mm: compaction: Ensure rescanning only happens on partially scanned pageblocks Vlastimil Babka
2023-05-15 11:33 ` [PATCH 2/4] mm: compaction: Only force pageblock scan completion when skip hints are obeyed Mel Gorman
2023-05-25 10:01 ` Vlastimil Babka
2023-05-15 11:33 ` [PATCH 3/4] mm: compaction: Update pageblock skip when first migration candidate is not at the start Mel Gorman
2023-05-25 13:37 ` Vlastimil Babka
2023-05-29 10:33 ` Mel Gorman
2023-05-29 12:43 ` Vlastimil Babka
[not found] ` <20230602111622.swtxhn6lu2qwgrwq@techsingularity.net>
[not found] ` <152e0730-0ddc-a1f8-7122-275d51741a1d@suse.cz>
[not found] ` <20230602124825.24a775kwwuf4rs6v@techsingularity.net>
[not found] ` <2c802986-3726-f79c-6383-cc03adb9fb0c@suse.cz>
2023-06-07 3:38 ` Baolin Wang
2023-06-07 12:24 ` Mel Gorman
2023-05-15 11:33 ` [PATCH 4/4] Revert "Revert "mm/compaction: fix set skip in fast_find_migrateblock"" Mel Gorman
2023-05-25 13:42 ` Vlastimil Babka
2023-05-19 6:43 ` [PATCH 0/4] Follow-up "Fix excessive CPU usage during compaction" Raghavendra K T
2023-05-21 19:20 ` Mel Gorman
2023-05-23 13:47 ` Baolin Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230515113344.6869-2-mgorman@techsingularity.net \
--to=mgorman@techsingularity.net \
--cc=akpm@linux-foundation.org \
--cc=jirislaby@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=mlevitsk@redhat.com \
--cc=pbonzini@redhat.com \
--cc=pedro.falcato@gmail.com \
--cc=vbabka@suse.cz \
--cc=zhouchuyi@bytedance.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox