[libvirt] [PATCH v2 00/11] Implement memory control api

Nikunj A. Dadhania nikunj at linux.vnet.ibm.com
Thu Sep 23 13:16:21 UTC 2010


Changelog from v1:
  * Patch re-ordering for compilation
  * Folded python bindings changes to patch 01
  * Added defines for string constants for memory tunables
  * Typo fix: min_guarantee
  * Moved initialization of function pointers in driver.h patch

This patch series implement public api for controlling various memory tunables
exported by the OS. This is based on the following RFC[1].

* Implement virDomainSetMemoryParameters api
* Provide implementation for remote, QEmu and LXC drivers
* Enable memory controller support fro QEmu
* virsh command for runtime changes to the memory parameters
* Domain configuration parsing for memory control parameters
* Cgroup memory controller code for memory hard_limit/soft_limit, swap
  hard_limit 

To Do
* Python bindings is just a place holder, need to implement
* virDomainGetMemoryParameters

1. https://www.redhat.com/archives/libvir-list/2010-August/msg00607.html
2. https://www.redhat.com/archives/libvir-list/2010-August/msg00699.html

---

Nikunj A. Dadhania (11):
      Adding structure and defines for virDomainSetMemoryParameter
      Adding virDomainSetMemoryParameters API
      Adds xml entries for memory tunables
      XML parsing for memory tunables
      Implement cgroup memory controller tunables
      Implement driver interface domainSetMemoryParamters for QEmu
      Adding memtunables to libvirt-lxc command
      Adding memtunables to qemuSetupCgroup
      Adding memtune command to virsh tool
      Implements virDomainSetMemoryParameters for the remote driver
      Implement domainSetMemoryParameters function


 daemon/remote.c                     |   66 +++++++++++++++++
 daemon/remote_dispatch_prototypes.h |    8 ++
 daemon/remote_dispatch_table.h      |    5 +
 docs/schemas/domain.rng             |   31 ++++++++
 include/libvirt/libvirt.h.in        |   60 +++++++++++++++
 python/generator.py                 |    1 
 python/libvirt-override-api.xml     |    6 ++
 python/libvirt-override.c           |    7 ++
 src/conf/domain_conf.c              |   50 +++++++++++--
 src/conf/domain_conf.h              |   12 ++-
 src/driver.h                        |    6 ++
 src/esx/esx_driver.c                |    1 
 src/esx/esx_vmx.c                   |   30 ++++----
 src/libvirt.c                       |   48 ++++++++++++
 src/libvirt_private.syms            |    6 ++
 src/libvirt_public.syms             |    5 +
 src/lxc/lxc_controller.c            |   24 ++++++
 src/lxc/lxc_driver.c                |  101 ++++++++++++++++++++++++--
 src/openvz/openvz_driver.c          |    9 +-
 src/phyp/phyp_driver.c              |    1 
 src/qemu/qemu.conf                  |    4 +
 src/qemu/qemu_conf.c                |   11 ++-
 src/qemu/qemu_driver.c              |  138 +++++++++++++++++++++++++++++++++--
 src/remote/remote_driver.c          |   66 +++++++++++++++++
 src/remote/remote_protocol.c        |   62 +++++++++++++++-
 src/remote/remote_protocol.h        |   36 +++++++++
 src/test/test_driver.c              |   13 ++-
 src/uml/uml_conf.c                  |    2 -
 src/uml/uml_driver.c                |   15 ++--
 src/util/cgroup.c                   |  106 +++++++++++++++++++++++++++
 src/util/cgroup.h                   |    7 ++
 src/xen/xen_driver.c                |    1 
 tools/virsh.c                       |   89 +++++++++++++++++++++++
 33 files changed, 959 insertions(+), 68 deletions(-)




More information about the libvir-list mailing list