summaryrefslogtreecommitdiff
path: root/mm/compaction.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-25 11:48:08 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-25 11:48:08 +0300
commitc04005ef3576893e2db315d9ea2cfa4cf88b2c05 (patch)
treec5f73e026486ef172ca5b0f48a34c67d6aa69c5e /mm/compaction.c
parentd15a6b92acfe1f4d7c3d4cf628a348deb7ad6eb3 (diff)
parentef4999852d307d38cfdecd91ed6892cc03beb9b8 (diff)
downloadlinux-rolling-lts.tar.xz
Merge v6.12.25linux-rolling-lts
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm/compaction.c')
-rw-r--r--mm/compaction.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/compaction.c b/mm/compaction.c
index 77dbb9022b47..eb5474dea04d 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -980,13 +980,13 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn,
}
if (PageHuge(page)) {
+ const unsigned int order = compound_order(page);
/*
* skip hugetlbfs if we are not compacting for pages
* bigger than its order. THPs and other compound pages
* are handled below.
*/
if (!cc->alloc_contig) {
- const unsigned int order = compound_order(page);
if (order <= MAX_PAGE_ORDER) {
low_pfn += (1UL << order) - 1;
@@ -1010,8 +1010,8 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn,
/* Do not report -EBUSY down the chain */
if (ret == -EBUSY)
ret = 0;
- low_pfn += compound_nr(page) - 1;
- nr_scanned += compound_nr(page) - 1;
+ low_pfn += (1UL << order) - 1;
+ nr_scanned += (1UL << order) - 1;
goto isolate_fail;
}