Message ID | 20240924101555.327091-1-lizhijian@fujitsu.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/memory_hotplug: Print the correct pfn in do_migrate_range() | expand |
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"); > } > } >
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"); } }
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(-)