On Thu, Sep 03, 2026 at 08:21:25PM +0800, Muchun Song wrote:
> pmem_mkpage_present() is called after persistent-memory poison has been
> cleared. It only needs to clear PG_hwpoison and undo the MCE nospec state
> for PFNs that are still marked poisoned.
> 
> For clean PFNs, test_and_clear_pmem_poison() has no semantic effect, but it
> still performs an atomic clear operation against struct page flags. That is
> unnecessary today and conflicts with the FS-DAX vmemmap optimization added
> later in the series, where clean PFNs may be backed by shared read-only
> metadata.
> 
> Check PageHWPoison() first so only poisoned PFNs update the page state.
> Poison recovery keeps the same behavior, while clean PFNs no longer require
> writable per-PFN metadata.
> 
> Signed-off-by: Muchun Song <[email protected]>

Then change itself looks good to me, so

Reviewed-by: Oscar Salvador <[email protected]>

but any reason not to hide the PageHWPoison check within 
test_and_clear_pmem_poison()?

 

-- 
Oscar Salvador
SUSE Labs

Reply via email to