Re: DAX can not work on virtual nvdimm device

Dan Williams
2016-08-30T17:09:01Z

On Mon, Aug 29, 2016 at 11:53 PM, Xiao Guangrong
<guangrong.xiao@linux.intel.com> wrote:
>
>
> On 08/30/2016 03:30 AM, Ross Zwisler wrote:
>
>>
>> Can you please verify that you are using "usable" memory for your memmap?
>> All
>> the details are here:
>>
>>
>> https://nvdimm.wiki.kernel.org/how_to_choose_the_correct_memmap_kernel_parameter_for_pmem_on_your_system
>
>
> Sure.
>
> This is the BIOS E820 info in the guest:
>
> e820: BIOS-provided physical RAM map:
> BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
> BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
> BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
> BIOS-e820: [mem 0x0000000000100000-0x00000000bffdefff] usable
> BIOS-e820: [mem 0x00000000bffdf000-0x00000000bfffffff] reserved
> BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
> BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
> BIOS-e820: [mem 0x0000000100000000-0x000000083fffffff] usable
> NX (Execute Disable) protection: active
> e820: user-defined physical RAM map:
> user: [mem 0x0000000000000000-0x000000000009fbff] usable
> user: [mem 0x000000000009fc00-0x000000000009ffff] reserved
> user: [mem 0x00000000000f0000-0x00000000000fffff] reserved
> user: [mem 0x0000000000100000-0x00000000bffdefff] usable
> user: [mem 0x00000000bffdf000-0x00000000bfffffff] reserved
> user: [mem 0x00000000feffc000-0x00000000feffffff] reserved
> user: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
> user: [mem 0x0000000100000000-0x000000027fffffff] usable
> user: [mem 0x0000000280000000-0x00000003ffffffff] persistent (type 12)
> user: [mem 0x0000000400000000-0x000000083fffffff] usable
>
> So that the memory we used to emulate PMEM split the 'usable' region.
>
>>
>> My guess is that Boaz was correct, and that your memmap is off using
>> addresses
>> that don't actually map to memory.
>
>
> I do not think so. :(
>
> I did mmap-write and mmap-read test, the data written by mmap-write can be
> correctly read out, so that the backend memory is really existing.
>

Can you post your exact reproduction steps? This test is not failing for me.