Re: [PATCH 2/3] mm: introduce memory type MEMORY_DEVICE_DEV_DAX

From: zhangyi6
Date: Thu Jul 05 2018 - 01:34:38 EST




On 2018å07æ04æ 22:50, Dan Williams wrote:
> On Wed, Jul 4, 2018 at 8:30 AM, Zhang Yi <yi.z.zhang@xxxxxxxxxxxxxxx> wrote:
>> Currently, NVDIMM pages will be marked 'PageReserved'. However, unlike
>> other reserved PFNs, pages on NVDIMM shall still behave like normal ones
>> in many cases, i.e. when used as backend memory of KVM guest. This patch
>> introduces a new memory type, MEMORY_DEVICE_DEV_DAX. Together with the
>> existing type MEMORY_DEVICE_FS_DAX, we can differentiate the pages on
>> NVDIMM with the normal reserved pages.
>>
>> Signed-off-by: Zhang Yi <yi.z.zhang@xxxxxxxxxxxxxxx>
>> Signed-off-by: Zhang Yu <yu.c.zhang@xxxxxxxxxxxxxxx>
>> ---
>> drivers/dax/pmem.c | 1 +
>> include/linux/memremap.h | 1 +
>> 2 files changed, 2 insertions(+)
>>
>> diff --git a/drivers/dax/pmem.c b/drivers/dax/pmem.c
>> index fd49b24..fb3f363 100644
>> --- a/drivers/dax/pmem.c
>> +++ b/drivers/dax/pmem.c
>> @@ -111,6 +111,7 @@ static int dax_pmem_probe(struct device *dev)
>> return rc;
>>
>> dax_pmem->pgmap.ref = &dax_pmem->ref;
>> + dax_pmem->pgmap.type = MEMORY_DEVICE_DEV_DAX;
>> addr = devm_memremap_pages(dev, &dax_pmem->pgmap);
>> if (IS_ERR(addr))
>> return PTR_ERR(addr);
>> diff --git a/include/linux/memremap.h b/include/linux/memremap.h
>> index 5ebfff6..4127bf7 100644
>> --- a/include/linux/memremap.h
>> +++ b/include/linux/memremap.h
>> @@ -58,6 +58,7 @@ enum memory_type {
>> MEMORY_DEVICE_PRIVATE = 1,
>> MEMORY_DEVICE_PUBLIC,
>> MEMORY_DEVICE_FS_DAX,
>> + MEMORY_DEVICE_DEV_DAX,
> Please add documentation for this new type to the comment block about
> this definition.
Thanks for your comments Dan, Will add it in next version,
Regards
Yi.