From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756595AbbIUJga (ORCPT ); Mon, 21 Sep 2015 05:36:30 -0400 Received: from szxga01-in.huawei.com ([58.251.152.64]:25017 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756166AbbIUJg2 (ORCPT ); Mon, 21 Sep 2015 05:36:28 -0400 Subject: Re: [PATCH] pramdisk: new block disk driver to perform persistent storage To: Dan Williams , Ross Zwisler References: <1442562390-91051-1-git-send-email-linyongting@huawei.com> <20150918161813.GA4274@linux.intel.com> CC: Jens Axboe , Andrew Morton , Richard Weinberger , Matthew Wilcox , , Ingo Molnar , Greg KH , "linux-kernel@vger.kernel.org" From: Lin Yongting Message-ID: <55FFCF75.70005@huawei.com> Date: Mon, 21 Sep 2015 17:35:49 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.66.68.239] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2015/9/19 0:41, Dan Williams wrote: > On Fri, Sep 18, 2015 at 9:18 AM, Ross Zwisler > 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. >>> >>> Usage: >>> modprobe pramdisk.ko pmem=@ [ pmem=@ ... ] >>> >>> 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 >>> Signed-off-by: Wang xiaozhe >> >> 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. > Thanks Dan! Seems nvdimm sub-system can figure out my requirement. Actually, my system is ARM arch, there is no any firmware but just a DDR memory. We reserved a memory region which is out of OS-memory to store data Persistently, this memory region will not clear in rebooting or panic as long as the power is not cut off.