Re: [PATCH 4/5] x86, mm: Add set_memory_wt() for WT
From: Toshi Kani
Date: Thu Sep 04 2014 - 15:41:32 EST
On Thu, 2014-09-04 at 12:14 -0700, Andy Lutomirski wrote:
> On Thu, Sep 4, 2014 at 11:57 AM, Toshi Kani <toshi.kani@xxxxxx> wrote:
> > On Thu, 2014-09-04 at 11:57 -0700, Andy Lutomirski wrote:
> >> On Thu, Sep 4, 2014 at 11:35 AM, Toshi Kani <toshi.kani@xxxxxx> wrote:
> >> > This patch adds set_memory_wt(), set_memory_array_wt(), and
> >> > set_pages_array_wt() for setting range(s) of memory to WT.
> >> >
> >> Possibly dumb question: I thought that set_memory_xyz was only for
> >> RAM. Is that incorrect?
> > It works for non-RAM ranges as well. For instance, you can use
> > set_memory_xyz() to change cache attribute for a non-RAM range mapped by
> > ioremap_cache().
> OK -- I didn't realize that was legal.
> Do you, by any chance, have a test driver for this? For example,
> something that lets your reserve some WT memory at boot and mmap it?
> I wouldn't mind getting some benchmarks, and I can even throw it at
> the NV-DIMM box that's sitting under my desk :)
Yes, the attached file contains two test tools. Please update
NVDIMM_ADDR to your NV-DIMM address in test-wt.c and test.c.
1) mmap via /dev/mem
dev-mem-test/mem-wt.patch - kernel patch that tweaks /dev/mem
dev-mem-test/test-wt.c - user program that mmaps a NVDIMM range w/ WT
2) Test driver for testing the interfaces