Re: [RFC PATCH 2/2] mm/pmem: Add memblock based e820 platform driver

From: Randy Dunlap
Date: Fri Jul 06 2018 - 14:46:58 EST


On 07/06/18 01:29, Aneesh Kumar K.V wrote:
> This patch steal system RAM and use that to emulate pmem device using the
> e820 platform driver.
>
> This adds a new kernel command line 'pmemmap' which takes the format <size[KMG]>
> to allocate memory early in the boot. This memory is later registered as
> persistent memory range.
>
> Based on original patch from Oliver OHalloran <oliveroh@xxxxxxxxxxx>
>
> Not-Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx>
> ---
> drivers/nvdimm/Kconfig | 13 ++++
> drivers/nvdimm/Makefile | 1 +
> drivers/nvdimm/memblockpmem.c | 115 ++++++++++++++++++++++++++++++++++
> 3 files changed, 129 insertions(+)
> create mode 100644 drivers/nvdimm/memblockpmem.c
>
> diff --git a/drivers/nvdimm/Kconfig b/drivers/nvdimm/Kconfig
> index 50d2a33de441..cbbbcbd4506b 100644
> --- a/drivers/nvdimm/Kconfig
> +++ b/drivers/nvdimm/Kconfig
> @@ -115,4 +115,17 @@ config OF_PMEM
> config PMEM_PLATFORM_DEVICE
> bool
>
> +config MEMBLOCK_PMEM
> + bool "pmemmap= parameter support"
> + default y
> + depends on HAVE_MEMBLOCK
> + select PMEM_PLATFORM_DEVICE
> + help
> + Add support for the pmemmap= kernel command line parameter. This is similar
> + to the memmap= parameter available on ACPI platforms, but it uses generic
> + kernel facilities (the memblock allocator) to reserve memory rather than adding
> + to the e820 table.
> +
> + Select Y if unsure.
> +
> endif


There's a high barrier for "default y", something like if the platform or device
cannot boot without it, it can be "default y". I have doubts that this is OK.


--
~Randy