Re: [Qemu-devel] [PATCH v3 00/32] implement vNVDIMM
On Tue, Oct 13, 2015 at 9:03 PM, Xiao Guangrong wrote: >> Label-less DIMMs are tested as part of the unit test [1] and the >> "memmap=nn!ss" kernel parameter that registers a persistent-memory >> address range without a DIMM. What error do you see when label >> support is disabled? >> >> [1]: https://github.com/pmem/ndctl/blob/master/README.md >> > > After revert my commits on NVDIMM driver, yeah, it works. > > Okay, i will drop the namespace part and make it as label-less > instead. > > Thank you, Dan! > Good to hear. There are still cases where a guest would likely want to submit a _DSM, like retrieving address range scrub results from the ACPI0012 root device, so the ASL work is still needed. However, I think the bulk of the storage functionality can be had without storing/retrieving labels in the guest. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [Qemu-devel] [PATCH v3 00/32] implement vNVDIMM
On 10/13/2015 02:36 PM, Dan Williams wrote: On Mon, Oct 12, 2015 at 10:49 PM, Xiao Guangrong wrote: On 10/13/2015 11:38 AM, Dan Williams wrote: On Mon, Oct 12, 2015 at 8:14 PM, Xiao Guangrong wrote: On 10/13/2015 12:36 AM, Dan Williams wrote: Static namespaces can be emitted without a label. Linux needs this to support existing "label-less" bare metal NVDIMMs. This is Linux specific? As i did not see it has been documented in the spec... I expect most NVDIMMs, especially existing ones available today, do not have a label area. This is not Linux specific and ACPI 6 does not specify a label area, only the Intel DSM Interface Example. Yup, label data is accessed via DSM interface, the spec I mentioned is Intel DSM Interface Example. However, IIRC Linux NVDIMM driver refused to use the device if no DSM GET_LABEL support, are you going to update it? Label-less DIMMs are tested as part of the unit test [1] and the "memmap=nn!ss" kernel parameter that registers a persistent-memory address range without a DIMM. What error do you see when label support is disabled? [1]: https://github.com/pmem/ndctl/blob/master/README.md After revert my commits on NVDIMM driver, yeah, it works. Okay, i will drop the namespace part and make it as label-less instead. Thank you, Dan! -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [Qemu-devel] [PATCH v3 00/32] implement vNVDIMM
On Mon, Oct 12, 2015 at 10:49 PM, Xiao Guangrong wrote: > > > On 10/13/2015 11:38 AM, Dan Williams wrote: >> >> On Mon, Oct 12, 2015 at 8:14 PM, Xiao Guangrong >> wrote: >>> >>> On 10/13/2015 12:36 AM, Dan Williams wrote: Static namespaces can be emitted without a label. Linux needs this to support existing "label-less" bare metal NVDIMMs. >>> >>> >>> >>> This is Linux specific? As i did not see it has been documented in the >>> spec... >> >> >> I expect most NVDIMMs, especially existing ones available today, do >> not have a label area. This is not Linux specific and ACPI 6 does not >> specify a label area, only the Intel DSM Interface Example. >> > > Yup, label data is accessed via DSM interface, the spec I mentioned > is Intel DSM Interface Example. > > However, IIRC Linux NVDIMM driver refused to use the device if no > DSM GET_LABEL support, are you going to update it? Label-less DIMMs are tested as part of the unit test [1] and the "memmap=nn!ss" kernel parameter that registers a persistent-memory address range without a DIMM. What error do you see when label support is disabled? [1]: https://github.com/pmem/ndctl/blob/master/README.md -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [Qemu-devel] [PATCH v3 00/32] implement vNVDIMM
On 10/13/2015 11:38 AM, Dan Williams wrote: On Mon, Oct 12, 2015 at 8:14 PM, Xiao Guangrong wrote: On 10/13/2015 12:36 AM, Dan Williams wrote: Static namespaces can be emitted without a label. Linux needs this to support existing "label-less" bare metal NVDIMMs. This is Linux specific? As i did not see it has been documented in the spec... I expect most NVDIMMs, especially existing ones available today, do not have a label area. This is not Linux specific and ACPI 6 does not specify a label area, only the Intel DSM Interface Example. Yup, label data is accessed via DSM interface, the spec I mentioned is Intel DSM Interface Example. However, IIRC Linux NVDIMM driver refused to use the device if no DSM GET_LABEL support, are you going to update it? -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [Qemu-devel] [PATCH v3 00/32] implement vNVDIMM
On Mon, Oct 12, 2015 at 8:14 PM, Xiao Guangrong wrote: > On 10/13/2015 12:36 AM, Dan Williams wrote: >> Static namespaces can be emitted without a label. Linux needs this to >> support existing "label-less" bare metal NVDIMMs. > > > This is Linux specific? As i did not see it has been documented in the > spec... I expect most NVDIMMs, especially existing ones available today, do not have a label area. This is not Linux specific and ACPI 6 does not specify a label area, only the Intel DSM Interface Example. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [Qemu-devel] [PATCH v3 00/32] implement vNVDIMM
On 10/13/2015 12:36 AM, Dan Williams wrote: On Sun, Oct 11, 2015 at 9:33 PM, Xiao Guangrong wrote: 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... Static namespaces can be emitted without a label. Linux needs this to support existing "label-less" bare metal NVDIMMs. This is Linux specific? As i did not see it has been documented in the spec... 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? BLK-mode is a bit different as those namespaces have both configurable sector-size and an optional BTT. It is possible to expect multiple BLK namespaces per a given region with different settings. Okay, thanks for your nice explanation, Dan! -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html