From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36707) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlUth-0002Cl-6f for qemu-devel@nongnu.org; Mon, 12 Oct 2015 00:39:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZlUtd-00081c-2h for qemu-devel@nongnu.org; Mon, 12 Oct 2015 00:39:41 -0400 Received: from mga09.intel.com ([134.134.136.24]:34024) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlUtc-00081P-T2 for qemu-devel@nongnu.org; Mon, 12 Oct 2015 00:39:37 -0400 References: <1444535584-18220-1-git-send-email-guangrong.xiao@linux.intel.com> From: Xiao Guangrong Message-ID: <561B3816.4020102@linux.intel.com> Date: Mon, 12 Oct 2015 12:33:26 +0800 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 00/32] implement vNVDIMM List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dan Williams Cc: ehabkost@redhat.com, kvm@vger.kernel.org, "Michael S. Tsirkin" , Gleb Natapov , mtosatti@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, imammedo@redhat.com, Paolo Bonzini , rth@twiddle.net 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?