Re: [PATCH] pramdisk: new block disk driver to perform persistent storage

From: Dan Williams
Date: Fri Sep 18 2015 - 12:41:50 EST


On Fri, Sep 18, 2015 at 9:18 AM, Ross Zwisler
<ross.zwisler@xxxxxxxxxxxxxxx> wrote:
> On Fri, Sep 18, 2015 at 03:46:30PM +0800, Lin Yongting wrote:
>> In embed devices, user space applications will use reserved memory
>> (i.e. persistent memory) to store business data, the data is kept
>> in this memory region after system rebooting or panic.
>>
>> pramdisk is a block disk driver based on Persistent memory, it provide
>> file system interface for application to read/write data in persistent
>> memory. Application can use pramdisk to store log file or business data
>> in persistent memory in the way of file system operation, avoid operating
>> or managing memory directly.
>>
>> pramdisk support multiple Persistent menory regions and each one is a
>> block device named as /dev/pram<N>.
>>
>> Usage:
>> modprobe pramdisk.ko pmem=<size1>@<addr2> [ pmem=<size2>@<addr2> ... ]
>>
>> For example:
>> modprobe pramdisk.ko pmem=20M@2050M pmem=20M@2150M
>> mkfs.ext3 /dev/pram1
>> mkdir /tmp/test1
>> mount -t ext3 /dev/pram1 /tmp/test1
>>
>> Signed-off-by: Lin Yongting <linyongting@xxxxxxxxxx>
>> Signed-off-by: Wang xiaozhe <wangxiaozhe@xxxxxxxxxx>
>
> I think you already have this functionality with the PMEM driver and the
> memmap=nn[KMG]!ss[KMG] command line parameter? What are you trying to
> accomplish with this driver that you can't do with PMEM?

Moreover, if your embedded firmware publishes persistent memory ranges
you can reuse the drivers/nvdimm/e820.c driver. As long as your
platform code in the kernel names those iomem_resource(s) as
""Persistent Memory (legacy)" they will be auto discovered and
surfaced by the libnvidmm sub-system.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/