From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v3 00/32] implement vNVDIMM Date: Mon, 12 Oct 2015 12:33:26 +0800 Message-ID: <561B3816.4020102@linux.intel.com> References: <1444535584-18220-1-git-send-email-guangrong.xiao@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Paolo Bonzini , imammedo@redhat.com, Gleb Natapov , mtosatti@redhat.com, stefanha@redhat.com, "Michael S. Tsirkin" , rth@twiddle.net, ehabkost@redhat.com, kvm@vger.kernel.org, qemu-devel@nongnu.org To: Dan Williams Return-path: Received: from mga02.intel.com ([134.134.136.20]:62753 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753083AbbJLEjg (ORCPT ); Mon, 12 Oct 2015 00:39:36 -0400 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 10/11/2015 05:17 AM, Dan Williams wrote: > On Sat, Oct 10, 2015 at 8:52 PM, Xiao Guangrong > wrote: > [..] >> ====== Test ====== >> In host >> 1) create memory backed file, e.g # dd if=zero of=/tmp/nvdimm bs=1G count=10 >> 2) append "-object memory-backend-file,share,id=mem1, >> mem-path=/tmp/nvdimm -device nvdimm,memdev=mem1,reserve-label-data, >> id=nv1" in QEMU command line >> >> In guest, download the latest upsteam kernel (4.2 merge window) and enable >> ACPI_NFIT, LIBNVDIMM and BLK_DEV_PMEM. >> 1) insmod drivers/nvdimm/libnvdimm.ko >> 2) insmod drivers/acpi/nfit.ko >> 3) insmod drivers/nvdimm/nd_btt.ko >> 4) insmod drivers/nvdimm/nd_pmem.ko >> You can see the whole nvdimm device used as a single namespace and /dev/pmem0 >> appears. You can do whatever on /dev/pmem0 including DAX access. >> >> Currently Linux NVDIMM driver does not support namespace operation on this >> kind of PMEM, apply below changes to support dynamical namespace: >> >> @@ -798,7 +823,8 @@ static int acpi_nfit_register_dimms(struct acpi_nfit_desc *a >> continue; >> } >> >> - if (nfit_mem->bdw && nfit_mem->memdev_pmem) >> + //if (nfit_mem->bdw && nfit_mem->memdev_pmem) >> + if (nfit_mem->memdev_pmem) >> flags |= NDD_ALIASING; > > This is just for testing purposes, right? I expect guests can It's used to validate NVDIMM _DSM method and static namespace following NVDIMM specs... > sub-divide persistent memory capacity by partitioning the resulting > block device(s). I understand that it's a Linux design... Hmm, can the same expectation apply to PBLK?