mm/memory_hotplug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The pfn value needs to be retrieved correctly when PageTransHuge(page)
is true. Fix it by replacing the usage of 'pfn' with 'page_to_pfn(page)'
to ensure the correct pfn is printed in warning messages when isolation
fails.
Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
---
mm/memory_hotplug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index 26790c8d5b43..000430406a9e 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -1829,7 +1829,7 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
} else {
if (__ratelimit(&migrate_rs)) {
- pr_warn("failed to isolate pfn %lx\n", pfn);
+ pr_warn("failed to isolate pfn %lx\n", page_to_pfn(page));
dump_page(page, "isolation failed");
}
}
--
2.29.2
On 9/24/24 15:45, Li Zhijian wrote: > The pfn value needs to be retrieved correctly when PageTransHuge(page) Where the pfn could have been modified with pfn = page_to_pfn(head) + compound_nr(head) - 1 So retrieving from page will get the original pfn value ? > is true. Fix it by replacing the usage of 'pfn' with 'page_to_pfn(page)' > to ensure the correct pfn is printed in warning messages when isolation > fails. > > Signed-off-by: Li Zhijian <lizhijian@fujitsu.com> > --- > mm/memory_hotplug.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index 26790c8d5b43..000430406a9e 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1829,7 +1829,7 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > > } else { > if (__ratelimit(&migrate_rs)) { > - pr_warn("failed to isolate pfn %lx\n", pfn); > + pr_warn("failed to isolate pfn %lx\n", page_to_pfn(page)); > dump_page(page, "isolation failed"); > } > }
Sorry for the late reply. (My company's mail server that enabling the DRMAC, seems not to deliver some mails to my inbox, I have to check mails in lore) > On 9/24/24 15:45, Li Zhijian wrote: > > The pfn value needs to be retrieved correctly when PageTransHuge(page) > Where the pfn could have been modified with > pfn = page_to_pfn(head) + compound_nr(head) - 1 > So retrieving from page will get the original pfn value ? Yes, that's true. it should print the actual pfn thatfailed to isolate,\\\ Thanks Zhijian > > > > is true. Fix it by replacing the usage of 'pfn' with 'page_to_pfn(page)' > to ensure the correct pfn is printed in warning messages when > isolation > fails. > > Signed-off-by: Li Zhijian > <lizhijian@fujitsu.com> > --- > mm/memory_hotplug.c | 2 +- > 1 file > changed, 1 insertion(+), 1 deletion(-) > > diff --git > a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index > 26790c8d5b43..000430406a9e 100644 > --- a/mm/memory_hotplug.c > +++ > b/mm/memory_hotplug.c > @@ -1829,7 +1829,7 @@ static void > do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > > } > else { > if (__ratelimit(&migrate_rs)) { > - pr_warn("failed to > isolate pfn %lx\n", pfn); > + pr_warn("failed to isolate pfn %lx\n", > page_to_pfn(page)); > dump_page(page, "isolation failed"); > } > }
Well, please ignore this patch, it has been fixed in 6.12 merged windows On 25/09/2024 16:01, Li, Zhijian/李 智坚 wrote: > Sorry for the late reply. (My company's mail server that enabling the > DRMAC, seems not to deliver some mails to my inbox, I have to check > mails in lore) > >> On 9/24/24 15:45, Li Zhijian wrote: >>> The pfn value needs to be retrieved correctly when PageTransHuge(page) >> Where the pfn could have been modified with >> pfn = page_to_pfn(head) + compound_nr(head) - 1 >> So retrieving from page will get the original pfn value ? > > Yes, that's true. > it should print the actual pfn thatfailed to isolate,\\\ Thanks Zhijian > > >> >> >>> is true. Fix it by replacing the usage of 'pfn' with 'page_to_pfn(page)' > to ensure the correct pfn is printed in warning messages when >> isolation > fails. > > Signed-off-by: Li Zhijian >> <lizhijian@fujitsu.com> > --- > mm/memory_hotplug.c | 2 +- > 1 file >> changed, 1 insertion(+), 1 deletion(-) > > diff --git >> a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index >> 26790c8d5b43..000430406a9e 100644 > --- a/mm/memory_hotplug.c > +++ >> b/mm/memory_hotplug.c > @@ -1829,7 +1829,7 @@ static void >> do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > > } >> else { > if (__ratelimit(&migrate_rs)) { > - pr_warn("failed to >> isolate pfn %lx\n", pfn); > + pr_warn("failed to isolate pfn %lx\n", >> page_to_pfn(page)); > dump_page(page, "isolation failed"); > } > } >
© 2016 - 2024 Red Hat, Inc.