[PATCH 00/35] vCPU pinning and related refactors - Part 1

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

 



These are preliminary refactors that will simplify the code base. The ultimate
goal of this refactoring is to aggregate all vCPU information
(pinning, scheduler,...) into a separate structure rather than storing them in
multiple places. This will then in turn help in making a saner implementation
of the still-planned specific vCPU API.

Peter Krempa (35):
  qemu: Fix possible crash in qemuProcessSetVcpuAffinities
  conf: Refactor emulatorpin handling
  conf: Move pinning information definition closer to the usage place
  util: bitmap: Add virBitmapToDataBuf that does not allocate the buffer
  qemu: Use virBitmapToDataBuf in qemuDomainGetVcpuPinInfo
  qemu: Reuse virBitmapToDataBuf in qemuDomainGetEmulatorPinInfo
  qemu: Refactor qemuDomainHelperGetVcpus by reusing virBitmapToDataBuf
  libxl: Reuse virBitmapToData in libxlDomainSetVcpuAffinities
  libxl: Unbreak vcpu pinning
  libxl: Refactor libxlDomainGetVcpuPinInfo
  util: Add macro to overflow check integer assignments
  monitor: Move documentation for qemuMonitorGetBalloonInfo
  qemu: monitor: Make qemuMonitorSetBalloon operate on unsinged long
    long
  qemu: process: Refactor setup of memory ballooning
  qemu: process: Update current balloon state to maximum on vm startup
  qemu: Add helper to update domain balloon size and refactor usage
    places
  qemu: Refactor qemuDomainGetInfo
  conf: Store cpu count as unsigned int
  lib: virDomainPinIOThread: Remove spurious overflow check
  qemu: libxl: vcpupin: Don't reset pinning when pinning to all pcpus
  Revert "cputune: Support cputune for xend driver"
  libxl: Don't remove vcpu pin definition in libxlDomainCleanup
  conf: Add new helpers to resolve virDomainModificationImpact to domain
    defs
  qemu: Refactor qemuDomainSetMemoryFlags by reusing virDomainObjGetDefs
  qemu: Refactor qemuDomainSetMemoryStatsPeriod by reusing
    virDomainObjGetDefs
  qemu: Refactor qemuDomainGetVcpusFlags by reusing virDomainObjGetDefs
  qemu: Refactor qemuDomainGetIOThreadInfo by reusing
    virDomainObjGetDefs
  qemu: Refactor qemuDomainPinIOThread by reusing virDomainObjGetDefs
  qemu: Refactor qemuDomainChgIOThread by reusing virDomainObjGetDefs
  qemu: Refactor qemuDomainSetBlkioParameters by reusing
    virDomainObjGetDefs
  qemu: Refactor qemuDomainPinVcpuFlags by reusing virDomainObjGetDefs
  qemu: Refactor qemuDomainGetVcpuPinInfo by reusing virDomainObjGetDefs
  qemu: Refactor qemuDomainPinEmulator by reusing virDomainObjGetDefs
  qemu: Refactor qemuDomainGetEmulatorPinInfo by reusing
    virDomainObjGetDefs
  qemu: Refactor qemuDomainSetVcpusFlags by reusing virDomainObjGetDefs

 src/conf/domain_conf.c       | 229 ++++++++---------
 src/conf/domain_conf.h       |  78 +++---
 src/libvirt-domain.c         |  19 --
 src/libvirt_private.syms     |   5 +-
 src/libxl/libxl_domain.c     |  44 +---
 src/libxl/libxl_driver.c     |  57 ++---
 src/qemu/qemu_cgroup.c       |   2 +-
 src/qemu/qemu_domain.c       |  64 +++++
 src/qemu/qemu_domain.h       |   3 +
 src/qemu/qemu_driver.c       | 593 ++++++++++++-------------------------------
 src/qemu/qemu_monitor.c      |  12 +-
 src/qemu/qemu_monitor.h      |   2 +-
 src/qemu/qemu_monitor_json.c |  21 +-
 src/qemu/qemu_monitor_json.h |   2 +-
 src/qemu/qemu_monitor_text.c |  21 +-
 src/qemu/qemu_monitor_text.h |   2 +-
 src/qemu/qemu_process.c      |  47 ++--
 src/util/virbitmap.c         |  33 ++-
 src/util/virbitmap.h         |   3 +
 src/util/virutil.h           |  11 +
 src/xen/xend_internal.c      |  34 +--
 tests/utiltest.c             |  30 +++
 tools/virsh.pod              |   3 +-
 23 files changed, 553 insertions(+), 762 deletions(-)

-- 
2.4.1

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




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux