[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC XEN PATCH v4 00/41] Add vNVDIMM support to HVM domains

Thanks for the series, I'm however wondering whether it's appropriate
to post a v4 as RFC. Ie: at v4 the reviewer expects the submitter to
have a clear picture of what needs to be implemented.

On Thu, Dec 07, 2017 at 06:09:49PM +0800, Haozhong Zhang wrote:
> All patches can also be found at
>   Xen:  https://github.com/hzzhan9/xen.git nvdimm-rfc-v4
>   QEMU: https://github.com/hzzhan9/qemu.git xen-nvdimm-rfc-v4
> RFC v3 can be found at
>   https://lists.xen.org/archives/html/xen-devel/2017-09/msg00964.html
> Changes in v4:
>   * Move the functionality of management util 'xen-ndctl' to Xne
>     management tool 'xl'.
>   * Load QEMU ACPI via QEMU fw_cfg and BIOSLinkerLoader interface.
>   * Other changes are documented in patches separately.
> - Part 0. Bug fix and code cleanup
>   [01/41] x86_64/mm: fix the PDX group check in mem_hotadd_check()
>   [02/41] x86_64/mm: avoid cleaning the unmapped frame table
>   [03/41] hvmloader/util: do not compare characters after '\0' in strncmp
> - Part 1. Detect host PMEM
>   Detect host PMEM via NFIT. No frametable and M2P table for them are
>   created in this part.
>   [04/41] xen/common: add Kconfig item for pmem support
>   [05/41] x86/mm: exclude PMEM regions from initial frametable
>   [06/41] acpi: probe valid PMEM regions via NFIT
>   [07/41] xen/pmem: register valid PMEM regions to Xen hypervisor
>   [08/41] xen/pmem: hide NFIT and deny access to PMEM from Dom0

I'm afraid I might ask stupied questions, since I haven't followed the
design discussion of this series very closely.

So you basically hide the NVDIMM from Dom0, and only allow guests to
use it?

What happens when you boot the same system without Xen? Will the
NVDIMM get corrupted because for example Linux will write something to

>   [09/41] xen/pmem: add framework for hypercall XEN_SYSCTL_nvdimm_op
>   [10/41] xen/pmem: add XEN_SYSCTL_nvdimm_pmem_get_rgions_nr
>   [11/41] xen/pmem: add XEN_SYSCTL_nvdimm_pmem_get_regions
>   [12/41] tools/xl: add xl command 'pmem-list'
> - Part 2. Setup host PMEM for management and guest data usage
>   Allow users or admins in Dom0 to setup host PMEM pages for
>   management and guest data usages.
>    * Management PMEM pages are used to store the frametable and M2P of
>      PMEM pages (including themselves), and never mapped to guest.
>    * Guest data PMEM pages can be mapped to guest and used as the
>      backend storage of virtual NVDIMM devices.

So this is basically tied to a PV Dom0, but I would like to also think
about what would happen with a PVH Dom0. In that case AFAICT Xen could
map the full NVDIMM to the Dom0 p2m as MMIO using 1GB pages, at which
point Dom0 could manage the NVDIMM as desired? Ie: Dom0 could map
parts of the NVDIMM to DomU as it maps other MMIO regions.

I'm not sure Xen needs to know anything else apart from how to map the
full NVDIMM to Dom0 as MMIO, which would greatly simplify this series.

Thanks, Roger.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.