[libvirt] [PATCHv5 0/4] Add support for memory backing with file source

Jaroslav Safka posted 4 patches 7 years, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/1486042053-3640-1-git-send-email-jaroslavx.safka@intel.com
docs/formatdomain.html.in                          |   9 ++
docs/schemas/domaincommon.rng                      |  30 +++++
src/conf/domain_conf.c                             | 133 ++++++++++++++++-----
src/conf/domain_conf.h                             |  22 ++++
src/conf/numa_conf.c                               |  15 +--
src/conf/numa_conf.h                               |  14 +--
src/qemu/libvirtd_qemu.aug                         |   3 +
src/qemu/qemu.conf                                 |   4 +
src/qemu/qemu_command.c                            |  55 ++++++---
src/qemu/qemu_conf.c                               |   9 ++
src/qemu/qemu_conf.h                               |   2 +
src/qemu/qemu_process.c                            |   2 +-
src/qemu/test_libvirtd_qemu.aug.in                 |   1 +
.../qemuxml2argv-fd-memory-no-numa-topology.args   |  21 ++++
.../qemuxml2argv-fd-memory-no-numa-topology.xml    |  27 +++++
.../qemuxml2argv-fd-memory-numa-topology.args      |  24 ++++
.../qemuxml2argv-fd-memory-numa-topology.xml       |  30 +++++
.../qemuxml2argv-fd-memory-numa-topology2.args     |  27 +++++
.../qemuxml2argv-fd-memory-numa-topology2.xml      |  31 +++++
.../qemuxml2argv-fd-memory-numa-topology3.args     |  30 +++++
.../qemuxml2argv-fd-memory-numa-topology3.xml      |  32 +++++
.../qemuxml2argv-memorybacking-set.xml             |  24 ++++
.../qemuxml2argv-memorybacking-unset.xml           |  24 ++++
tests/qemuxml2argvtest.c                           |  13 ++
.../qemuxml2xmlout-memorybacking-set.xml           |  32 +++++
.../qemuxml2xmlout-memorybacking-unset.xml         |  32 +++++
tests/qemuxml2xmltest.c                            |   3 +
27 files changed, 584 insertions(+), 65 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-memorybacking-set.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-memorybacking-unset.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memorybacking-set.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memorybacking-unset.xml
[libvirt] [PATCHv5 0/4] Add support for memory backing with file source
Posted by Jaroslav Safka 7 years, 1 month ago
Hi,
we would like to introduce 3 new elements source,access and allocation in memoryBacking element.
For now it was made for numa topology.

<memoryBacking>
     <source type="file|anonymous"/>
     <access mode="shared|private"/>
     <allocation mode="immediate|ondemand"/> 
</memoryBacking>

If allocation is immediate then -mem-prealloc should be added to the qemu commanline.
If source is file then
-object memory-backend-file,id=mem,size=1024M,mem-path=*lib dir path* -numa node,memdev=mem Will be added to the qemu commandline

If access is shared then the "share=on" parameter will be added to the memory-backend-file e.g.
-object memory-backend-file,id=mem,size=1024M,mem-path=/var/lib/libvirt/qemu,share=on

The access mode can be overriden by specifying token memAccess in numa cell.
The mem-path can be defined by new config parameter memory_backing_dir.

PS: the sometime failing test qemuhotplug was failing also before this patch :)

Jaroslav Safka (4):
  qemu,conf: Rename virNumaMemAccess to virDomainMemoryAccess
  qemu_conf: Add param memory_backing_dir
  conf: Add new xml elements for file memorybacking support
  qemu: Add args generation for file memory backing

 docs/formatdomain.html.in                          |   9 ++
 docs/schemas/domaincommon.rng                      |  30 +++++
 src/conf/domain_conf.c                             | 133 ++++++++++++++++-----
 src/conf/domain_conf.h                             |  22 ++++
 src/conf/numa_conf.c                               |  15 +--
 src/conf/numa_conf.h                               |  14 +--
 src/qemu/libvirtd_qemu.aug                         |   3 +
 src/qemu/qemu.conf                                 |   4 +
 src/qemu/qemu_command.c                            |  55 ++++++---
 src/qemu/qemu_conf.c                               |   9 ++
 src/qemu/qemu_conf.h                               |   2 +
 src/qemu/qemu_process.c                            |   2 +-
 src/qemu/test_libvirtd_qemu.aug.in                 |   1 +
 .../qemuxml2argv-fd-memory-no-numa-topology.args   |  21 ++++
 .../qemuxml2argv-fd-memory-no-numa-topology.xml    |  27 +++++
 .../qemuxml2argv-fd-memory-numa-topology.args      |  24 ++++
 .../qemuxml2argv-fd-memory-numa-topology.xml       |  30 +++++
 .../qemuxml2argv-fd-memory-numa-topology2.args     |  27 +++++
 .../qemuxml2argv-fd-memory-numa-topology2.xml      |  31 +++++
 .../qemuxml2argv-fd-memory-numa-topology3.args     |  30 +++++
 .../qemuxml2argv-fd-memory-numa-topology3.xml      |  32 +++++
 .../qemuxml2argv-memorybacking-set.xml             |  24 ++++
 .../qemuxml2argv-memorybacking-unset.xml           |  24 ++++
 tests/qemuxml2argvtest.c                           |  13 ++
 .../qemuxml2xmlout-memorybacking-set.xml           |  32 +++++
 .../qemuxml2xmlout-memorybacking-unset.xml         |  32 +++++
 tests/qemuxml2xmltest.c                            |   3 +
 27 files changed, 584 insertions(+), 65 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-memorybacking-set.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-memorybacking-unset.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memorybacking-set.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memorybacking-unset.xml

-- 
2.7.4

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCHv5 0/4] Add support for memory backing with file source
Posted by Michal Privoznik 7 years, 1 month ago
On 02/02/2017 02:27 PM, Jaroslav Safka wrote:
> Hi,
> we would like to introduce 3 new elements source,access and allocation in memoryBacking element.
> For now it was made for numa topology.
> 
> <memoryBacking>
>      <source type="file|anonymous"/>
>      <access mode="shared|private"/>
>      <allocation mode="immediate|ondemand"/> 
> </memoryBacking>
> 
> If allocation is immediate then -mem-prealloc should be added to the qemu commanline.
> If source is file then
> -object memory-backend-file,id=mem,size=1024M,mem-path=*lib dir path* -numa node,memdev=mem Will be added to the qemu commandline
> 
> If access is shared then the "share=on" parameter will be added to the memory-backend-file e.g.
> -object memory-backend-file,id=mem,size=1024M,mem-path=/var/lib/libvirt/qemu,share=on
> 
> The access mode can be overriden by specifying token memAccess in numa cell.
> The mem-path can be defined by new config parameter memory_backing_dir.
> 
> PS: the sometime failing test qemuhotplug was failing also before this patch :)
> 
> Jaroslav Safka (4):
>   qemu,conf: Rename virNumaMemAccess to virDomainMemoryAccess
>   qemu_conf: Add param memory_backing_dir
>   conf: Add new xml elements for file memorybacking support
>   qemu: Add args generation for file memory backing
> 
>  docs/formatdomain.html.in                          |   9 ++
>  docs/schemas/domaincommon.rng                      |  30 +++++
>  src/conf/domain_conf.c                             | 133 ++++++++++++++++-----
>  src/conf/domain_conf.h                             |  22 ++++
>  src/conf/numa_conf.c                               |  15 +--
>  src/conf/numa_conf.h                               |  14 +--
>  src/qemu/libvirtd_qemu.aug                         |   3 +
>  src/qemu/qemu.conf                                 |   4 +
>  src/qemu/qemu_command.c                            |  55 ++++++---
>  src/qemu/qemu_conf.c                               |   9 ++
>  src/qemu/qemu_conf.h                               |   2 +
>  src/qemu/qemu_process.c                            |   2 +-
>  src/qemu/test_libvirtd_qemu.aug.in                 |   1 +
>  .../qemuxml2argv-fd-memory-no-numa-topology.args   |  21 ++++
>  .../qemuxml2argv-fd-memory-no-numa-topology.xml    |  27 +++++
>  .../qemuxml2argv-fd-memory-numa-topology.args      |  24 ++++
>  .../qemuxml2argv-fd-memory-numa-topology.xml       |  30 +++++
>  .../qemuxml2argv-fd-memory-numa-topology2.args     |  27 +++++
>  .../qemuxml2argv-fd-memory-numa-topology2.xml      |  31 +++++
>  .../qemuxml2argv-fd-memory-numa-topology3.args     |  30 +++++
>  .../qemuxml2argv-fd-memory-numa-topology3.xml      |  32 +++++
>  .../qemuxml2argv-memorybacking-set.xml             |  24 ++++
>  .../qemuxml2argv-memorybacking-unset.xml           |  24 ++++
>  tests/qemuxml2argvtest.c                           |  13 ++
>  .../qemuxml2xmlout-memorybacking-set.xml           |  32 +++++
>  .../qemuxml2xmlout-memorybacking-unset.xml         |  32 +++++
>  tests/qemuxml2xmltest.c                            |   3 +
>  27 files changed, 584 insertions(+), 65 deletions(-)
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-memorybacking-set.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-memorybacking-unset.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memorybacking-set.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memorybacking-unset.xml
> 

Looking good. ACK to all of them. However, please send a patch (as a
reply to this cover letter) that updates docs/news.xml. Only after that
it is possible to push these.

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCHv5 0/4] Add support for memory backing with file source
Posted by Safka, JaroslavX 7 years, 1 month ago
Thanks :)
Will be this diff ok?

diff --git a/docs/news.xml b/docs/news.xml
index f408293..d01ce08 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -23,6 +23,16 @@
           built-in replication and disaster recovery.
         </description>
       </change>
+      <change>
+        <summary>
+          qemu: Add support for memory backing with file source
+        </summary>
+        <description>
+          Add support in numa topology for file source inside memory backing (hugepages are not needed)
+          Three new elements "source","access" and "allocation" were added to "memoryBacking" element.
+          Also new configuration parameter "memory_backing_dir" was added.
+        </description>
+      </change>
     </section>
     <section title="Improvements">
       <change>

> -----Original Message-----
> From: Michal Privoznik [mailto:mprivozn@redhat.com]
> Sent: Thursday, February 09, 2017 9:58 AM
> To: Safka, JaroslavX <jaroslavx.safka@intel.com>; libvir-list@redhat.com
> Cc: Mooney, Sean K <sean.k.mooney@intel.com>; Ptacek, MichalX
> <michalx.ptacek@intel.com>
> Subject: Re: [libvirt] [PATCHv5 0/4] Add support for memory backing with file
> source
> 
> On 02/02/2017 02:27 PM, Jaroslav Safka wrote:
> > Hi,
> > we would like to introduce 3 new elements source,access and allocation in
> memoryBacking element.
> > For now it was made for numa topology.
> >
> > <memoryBacking>
> >      <source type="file|anonymous"/>
> >      <access mode="shared|private"/>
> >      <allocation mode="immediate|ondemand"/> </memoryBacking>
> >
> > If allocation is immediate then -mem-prealloc should be added to the qemu
> commanline.
> > If source is file then
> > -object memory-backend-file,id=mem,size=1024M,mem-path=*lib dir path*
> > -numa node,memdev=mem Will be added to the qemu commandline
> >
> > If access is shared then the "share=on" parameter will be added to the
> memory-backend-file e.g.
> > -object
> > memory-backend-file,id=mem,size=1024M,mem-path=/var/lib/libvirt/qemu,s
> > hare=on
> >
> > The access mode can be overriden by specifying token memAccess in numa
> cell.
> > The mem-path can be defined by new config parameter
> memory_backing_dir.
> >
> > PS: the sometime failing test qemuhotplug was failing also before this
> > patch :)
> >
> > Jaroslav Safka (4):
> >   qemu,conf: Rename virNumaMemAccess to virDomainMemoryAccess
> >   qemu_conf: Add param memory_backing_dir
> >   conf: Add new xml elements for file memorybacking support
> >   qemu: Add args generation for file memory backing
> >
> >  docs/formatdomain.html.in                          |   9 ++
> >  docs/schemas/domaincommon.rng                      |  30 +++++
> >  src/conf/domain_conf.c                             | 133 ++++++++++++++++-----
> >  src/conf/domain_conf.h                             |  22 ++++
> >  src/conf/numa_conf.c                               |  15 +--
> >  src/conf/numa_conf.h                               |  14 +--
> >  src/qemu/libvirtd_qemu.aug                         |   3 +
> >  src/qemu/qemu.conf                                 |   4 +
> >  src/qemu/qemu_command.c                            |  55 ++++++---
> >  src/qemu/qemu_conf.c                               |   9 ++
> >  src/qemu/qemu_conf.h                               |   2 +
> >  src/qemu/qemu_process.c                            |   2 +-
> >  src/qemu/test_libvirtd_qemu.aug.in                 |   1 +
> >  .../qemuxml2argv-fd-memory-no-numa-topology.args   |  21 ++++
> >  .../qemuxml2argv-fd-memory-no-numa-topology.xml    |  27 +++++
> >  .../qemuxml2argv-fd-memory-numa-topology.args      |  24 ++++
> >  .../qemuxml2argv-fd-memory-numa-topology.xml       |  30 +++++
> >  .../qemuxml2argv-fd-memory-numa-topology2.args     |  27 +++++
> >  .../qemuxml2argv-fd-memory-numa-topology2.xml      |  31 +++++
> >  .../qemuxml2argv-fd-memory-numa-topology3.args     |  30 +++++
> >  .../qemuxml2argv-fd-memory-numa-topology3.xml      |  32 +++++
> >  .../qemuxml2argv-memorybacking-set.xml             |  24 ++++
> >  .../qemuxml2argv-memorybacking-unset.xml           |  24 ++++
> >  tests/qemuxml2argvtest.c                           |  13 ++
> >  .../qemuxml2xmlout-memorybacking-set.xml           |  32 +++++
> >  .../qemuxml2xmlout-memorybacking-unset.xml         |  32 +++++
> >  tests/qemuxml2xmltest.c                            |   3 +
> >  27 files changed, 584 insertions(+), 65 deletions(-)  create mode
> > 100644
> > tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.args
> >  create mode 100644
> > tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.xml
> >  create mode 100644
> > tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.args
> >  create mode 100644
> > tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.xml
> >  create mode 100644
> > tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.args
> >  create mode 100644
> > tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.xml
> >  create mode 100644
> > tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.args
> >  create mode 100644
> > tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.xml
> >  create mode 100644
> > tests/qemuxml2argvdata/qemuxml2argv-memorybacking-set.xml
> >  create mode 100644
> > tests/qemuxml2argvdata/qemuxml2argv-memorybacking-unset.xml
> >  create mode 100644
> > tests/qemuxml2xmloutdata/qemuxml2xmlout-memorybacking-set.xml
> >  create mode 100644
> > tests/qemuxml2xmloutdata/qemuxml2xmlout-memorybacking-unset.xml
> >
> 
> Looking good. ACK to all of them. However, please send a patch (as a reply to
> this cover letter) that updates docs/news.xml. Only after that it is possible to
> push these.
> 
> Michal
--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCHv5 0/4] Add support for memory backing with file source
Posted by Michal Privoznik 7 years, 1 month ago
On 02/09/2017 10:34 AM, Safka, JaroslavX wrote:
> Thanks :)
> Will be this diff ok?
> 
> diff --git a/docs/news.xml b/docs/news.xml
> index f408293..d01ce08 100644
> --- a/docs/news.xml
> +++ b/docs/news.xml
> @@ -23,6 +23,16 @@
>            built-in replication and disaster recovery.
>          </description>
>        </change>
> +      <change>
> +        <summary>
> +          qemu: Add support for memory backing with file source
> +        </summary>
> +        <description>
> +          Add support in numa topology for file source inside memory backing (hugepages are not needed)
> +          Three new elements "source","access" and "allocation" were added to "memoryBacking" element.
> +          Also new configuration parameter "memory_backing_dir" was added.
> +        </description>
> +      </change>
>      </section>

I've tweaked it a little bit, ACKed and pushed. Congratulations on your
first libvirt contribution!

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list