Messages in this thread | | | From | "Elliott, Robert (Server Storage)" <> | Subject | RE: [PATCH 1/8] pmem: Initial version of persistent memory driver | Date | Thu, 26 Mar 2015 04:00:57 +0000 |
| |
> -----Original Message----- > From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel- > owner@vger.kernel.org] On Behalf Of Andy Lutomirski > Sent: Wednesday, March 18, 2015 1:07 PM > To: Boaz Harrosh > Cc: Matthew Wilcox; Ross Zwisler; X86 ML; Thomas Gleixner; Dan Williams; > Ingo Molnar; Roger C. Pao; linux-nvdimm; linux-kernel; H. Peter Anvin; > Christoph Hellwig > Subject: Re: [PATCH 1/8] pmem: Initial version of persistent memory driver > > On Mar 9, 2015 8:20 AM, "Boaz Harrosh" <boaz@plexistor.com> wrote: > > > > On 03/06/2015 01:03 AM, Andy Lutomirski wrote: > > <> > > > > > > I think it would be nice to have control over the caching mode. > > > Depending on the application, WT or UC could make more sense. > > > > > > > Patches are welcome. say > > map=sss@aaa:WT,sss@aaa:CA, ... > > > > But for us, with direct_access(), all benchmarks show a slight advantage > > for the cached mode. > > I'm sure cached is faster. The question is: who flushes the cache? > > --Andy
Nobody.
Therefore, pmem as currently proposed (mapping the memory with ioremap_cache, which uses _PAGE_CACHE_MODE_WB) is unsafe unless the system is doing something special to ensure L1, L2, and L3 caches are flushed on power loss.
I think pmem needs to map the memory as UC or WT by default, providing WB and WC only as an option for users confident that those attributes are safe to use in their system.
Even using UC or WT presumes that ADR is in place.
| |