[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 0/2] add vNVDIMM support for Xen
On Tue, 29 Dec 2015, Haozhong Zhang wrote: > This patch series extends current vNVDIMM implementation to provide > vNVDIMM to HVM domains when QEMU is used as the device model of Xen. > > This patch series is based on upstream qemu rather of qemu-xen, > because vNVDIMM support has not been in qemu-xen (commit f165e58). > > * Following two problem that prevent Xen from directly using current > implementation are solved by this patch series. > > (1) The current way to allocate memory for pc-dimm based vNVDIMM > through file-backend device is not compatible with Xen. Patch 2 > adds another pc-nvdimm device to manage vNVDIMM's memory by > itself. > > A pc-nvdimm device can be used only with Xen and is specified by > parameters like > -device pc-nvdimm,file=/dev/pmem0,size=MBYTES > > (2) Xen uses its hvmloader rather than QEMU to build guest ACPI > tables. In order to reuse as much code as possible, patch 2 calls > the existing QEMU code to build guest ACPI tables for pc-nvdimm > devices and passes them to hvmloader. I don't think that is acceptable: this would introduce a VM build time dependency between QEMU and hvmloader which I think is undesirable. Please note that Anthony is working on a way to pass ACPI tables from the toolstack to hvmloader: http://marc.info/?l=xen-devel&m=144587582606159 I would build this work on top of his series. > * Test > (1) A patched Xen is used for test. Xen patch series is sent > separately with title "[PATCH 0/4] add support for vNVDIMM". > > (2) Prepare a memory backend file: > dd if=/dev/zero of=/tmp/nvm0 bs=1G count=10 > > (3) Add the following line to a HVM domain's configuration xl.cfg: > nvdimm =[ 'file=/tmp/nvm0,size=10240' ] > > (4) Launch a HVM domain from above xl.cfg. > > (5) If guest Linux kernel is 4.2 or newer and kernel modules > libnvdimm, nfit, nd_btt and nd_pmem are loaded, then you will see > the whole nvdimm device used as a single namespace and /dev/pmem0 > will appear. > > > > Haozhong Zhang (2): > pc-nvdimm: implement pc-nvdimm device abstract > pc-nvdimm acpi: build ACPI tables for pc-nvdimm devices > > hw/acpi/nvdimm.c | 5 +- > hw/i386/pc.c | 6 +- > hw/mem/Makefile.objs | 1 + > hw/mem/pc-nvdimm.c | 239 > +++++++++++++++++++++++++++++++++++++++++++++ > include/hw/mem/pc-nvdimm.h | 49 ++++++++++ > include/hw/xen/xen.h | 2 + > xen-hvm.c | 73 ++++++++++++++ > 7 files changed, 373 insertions(+), 2 deletions(-) > create mode 100644 hw/mem/pc-nvdimm.c > create mode 100644 include/hw/mem/pc-nvdimm.h > > -- > 2.4.8 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |