Re: [PATCH v9 06/15] kpageflags: Use is_page_hwpoison() to set KPF_HWPOISON
"David Hildenbrand (Arm)" <[email protected]>
| Newsgroups | org.kernel.vger.linux-fsdevel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On 8/5/26 23:05, Matthew Wilcox (Oracle) wrote: > Instead of knowing how hugetlb handles hwpoison, just ask > is_page_hwpoison(). This gives us the flexibility to change how hwpoison > is handled without updating this function in the future. > > Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> > Reviewed-by: Jane Chu <[email protected]> > Reviewed-by: Gregory Price (Meta) <[email protected]> > --- > fs/proc/page.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 7d9387143435..323e4c049f69 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -233,12 +233,8 @@ u64 stable_page_flags(const struct page *page) > u |= kpf_copy_bit(k, KPF_UNEVICTABLE, PG_unevictable); > u |= kpf_copy_bit(k, KPF_MLOCKED, PG_mlocked); > > -#ifdef CONFIG_MEMORY_FAILURE > - if (u & (1 << KPF_HUGE)) > - u |= kpf_copy_bit(k, KPF_HWPOISON, PG_hwpoison); > - else > - u |= kpf_copy_bit(ps.page_snapshot.flags.f, KPF_HWPOISON, PG_hwpoison); > -#endif > + if (is_page_hwpoison(page)) > + u |= 1 << KPF_HWPOISON; snapshot_page() takes a snapshot of the folio and the page. If you look at "page", you start going to the live version again. -- Cheers, David