[libvirt] [PATCH 00/12] Implement memory control api

Nikunj A. Dadhania nikunj at linux.vnet.ibm.com
Mon Sep 20 08:44:30 UTC 2010


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 (12):
      Adding virDomainSetMemoryParameters API
      Adding structure for virDomainSetMemoryParameter
      Adds xml entries for memory tunables
      XML parsing for memory tunables
      Hand-coded python bindings for virDomainSetMemoryParameters
      Implement driver interface domainSetMemoryParamters for QEmu
      Implement cgroup memory controller tunables
      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        |   56 ++++++++++++++
 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, 955 insertions(+), 68 deletions(-)




More information about the libvir-list mailing list