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 - 2026 Red Hat, Inc.