[libvirt] [PATCH v5 01/11] nvdimm: introduce 'alignsize' element into xml for NVDIMM memory

John Ferlan jferlan at redhat.com
Thu Dec 20 17:05:41 UTC 2018


$SUBJ:

s/nvdimm: introduce/conf: Introduce/

On 12/20/18 4:14 AM, Luyao Zhong wrote:
> NVDIMM emulation will mmap the backend file, it uses host pagesize
> as the alignment of mapping address before, but some backends may
> require alignments different from the pagesize. So the 'alignsize'
> option will be introduced to allow users specifying the proper

s/will be/is
s/users specifying/specification of/

> alignment:
> 
> <devices>
>   ...
>   <memory model='nvdimm' access='shared'>
>       <source>
>           <path>/dev/dax0.0</path>
>           <alignsize unit='MiB'>2</alignsize>
>       </source>
>       <target>
>           <size unit='MiB'>4094</size>
>           <node>0</node>
>           <label>
>               <size unit='MiB'>2</size>
>           </label>
>       </target>
>   </memory>
>   ...
> </devices>
> 
> Signed-off-by: Luyao Zhong <luyao.zhong at intel.com>
> ---
>  docs/formatdomain.html.in                          | 23 +++++++--
>  docs/schemas/domaincommon.rng                      | 13 +++--
>  src/conf/domain_conf.c                             | 32 +++++++++---
>  src/conf/domain_conf.h                             |  1 +
>  .../memory-hotplug-nvdimm-align.xml                | 58 ++++++++++++++++++++++
>  .../memory-hotplug-nvdimm-align.xml                |  1 +
>  tests/qemuxml2xmltest.c                            |  1 +
>  7 files changed, 116 insertions(+), 13 deletions(-)
>  create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
>  create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml
> 
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index a18d063..515e656 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -8322,6 +8322,7 @@ qemu-kvm -net nic,model=? /dev/null
>    <memory model='nvdimm'>
>      <source>
>        <path>/tmp/nvdimm</path>
> +      <alignsize unit='KiB'>2048</alignsize>
>      </source>
>      <target>
>        <size unit='KiB'>524288</size>
> @@ -8403,10 +8404,26 @@ qemu-kvm -net nic,model=? /dev/null
>          </dl>
>  
>          <p>
> -          For model <code>nvdimm</code> this element is mandatory and has a
> -          single child element <code>path</code> that represents a path
> -          in the host that backs the nvdimm module in the guest.
> +          For model <code>nvdimm</code> this element is mandatory. The
> +          mandatory child element <code>path</code> represents a path in
> +          the host that backs the nvdimm module in the guest. If
> +          <code>nvdimm</code> is provided, then the following optional
> +          elements can be provided as well:

s/If ... as well:/The following optional elements may be used:/

>          </p>
> +
> +        <dl>
> +          <dt><code>alignsize</code></dt>
> +          <dd>
> +            <p>
> +              This element can be used to specify a proper alignment.
> +              When mmap(2) the backend files, QEMU uses the host page
> +              size by default as the alignment of mapping address. However,
> +              some backends may require alignments different from the page.

How about:

The <code>alignsize</code> element defines the page size alignment used
to mmap the address range for the backend <code>path</code>. If not
supplied the host page size is used.

NB: This makes the description hypvervisor agnostic and "simpler".

> +              For example, mmap a real NVDIMM device maybe 2M-aligned required.

Change to:

For example, to mmap a real NVDIMM device a 2M-aligned may be required.


With your OK, then I can make these changes for you.

Reviewed-by: John Ferlan <jferlan at redhat.com>

John

[...]




More information about the libvir-list mailing list