nvdimm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* set_memory_uc() does not work with pmem poison handling
@ 2021-06-15 18:55 Jane Chu
  2021-06-22  0:15 ` Luis Chamberlain
  0 siblings, 1 reply; 6+ messages in thread
From: Jane Chu @ 2021-06-15 18:55 UTC (permalink / raw)
  To: Dan Williams; +Cc: nvdimm

Hi, Dan,

It appears the fact pmem region is of WB memtype renders set_memory_uc()

to fail due to inconsistency between the requested memtype(UC-) and the 
cached

memtype(WB).

# cat /proc/iomem |grep -A 8 -i persist
1840000000-d53fffffff : Persistent Memory
   1840000000-1c3fffffff : namespace0.0
   5740000000-76bfffffff : namespace2.0

# cat /sys/kernel/debug/x86/pat_memtype_list
PAT memtype list:
PAT: [mem 0x0000001840000000-0x0000001c40000000] write-back
PAT: [mem 0x0000005740000000-0x00000076c0000000] write-back

[10683.418072] Memory failure: 0x1850600: recovery action for dax page: 
Recovered
[10683.426147] x86/PAT: fsdax_poison_v1:5018 conflicting memory types 
1850600000-1850601000  uncached-minus<->write-back

cscope search shows that unlike pmem, set_memory_uc() is primarily used 
by drivers dealing with ioremap(),

perhaps the pmem case needs another way to suppress prefetch?

Your thoughts?

thanks!

-jane



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-06-25 23:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-15 18:55 set_memory_uc() does not work with pmem poison handling Jane Chu
2021-06-22  0:15 ` Luis Chamberlain
2021-06-22 17:21   ` Jane Chu
2021-06-25 23:15     ` Dan Williams
2021-06-25 23:21       ` Luck, Tony
2021-06-25 23:49         ` Dan Williams

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).