> -----Original Message----- > From: [email protected] [mailto:linux-kernel- > [email protected]] On Behalf Of Luck, Tony > Sent: Wednesday, June 21, 2017 12:54 PM > To: Naoya Horiguchi <[email protected]> > Cc: Borislav Petkov <[email protected]>; Dave Hansen <[email protected]>; > [email protected]; [email protected]; [email protected]
(adding linux-nvdimm list in this reply) > Subject: Re: [PATCH] mm/hwpoison: Clear PRESENT bit for kernel 1:1 > mappings of poison pages > > On Wed, Jun 21, 2017 at 02:12:27AM +0000, Naoya Horiguchi wrote: > > > We had better have a reverse operation of this to cancel the unmapping > > when unpoisoning? > > When we have unpoisoning, we can add something. We don't seem to have > an inverse function for "set_memory_np" to just flip the _PRESENT bit > back on again. But it would be trivial to write a set_memory_pp(). > > Since we'd be doing this after the poison has been cleared, we wouldn't > need to play games with the address. We'd just use: > > set_memory_pp((unsigned long)pfn_to_kaddr(pfn), 1); > > -Tony Persistent memory does have unpoisoning and would require this inverse operation - see drivers/nvdimm/pmem.c pmem_clear_poison() and core.c nvdimm_clear_poison(). --- Robert Elliott, HPE Persistent Memory

