[libvirt] [PATCH v4 00/11] Introduce worker tuning APIs

Erik Skultety eskultet at redhat.com
Fri Apr 8 11:50:00 UTC 2016


since v3:
- fixed some indentation problem in 10/11

- for some reason daemon-side APIs did not follow our function signature
conventions, e.g. if the function name starts with virAdmServer (adminServer
for server-side version), it means that first argument is going to be
virAdmServerPtr (virNetServerPtr for server side), etc., but for some reason, I
named the server-side version adminDaemon, while passing virNetServerPtr as the
first argument

- fixed a bug when setting parameters would return error stating that
minWorkers cannot be larger than maxWorkers for configuration:
maxWorkers = 14 and minWorkers = 13

- replaced srv-workertune command with two commands srv-threadpool-info and
srv-threadpool-set, since it's much easier to extend the set of options for
each command separately than to do some black magic to determine which options
make the command behave as a getter and which ones make it behave as a setter

since v2:
- all getters are now protected by threadpool mutex to prevent torn reads in
concurrent execution
- some checks in adminDispatchServerGetThreadpoolParameters were redundant,
    thus were optimizes out
    - fixed memory leak in adminDispatchServerGetThreadpoolParameters when
    allocating a newlist although typed params serialization already does that
    - fixed some cosmetic issues like exporting a function prototype one patch
    earlier than it should actually be introduced - a mistake that got there by
    interactive rebase

Erik Skultety (11):
  po: Fix record ordering in POTFILES.in
  libvirt-host: Move virTypedParam* to libvirt-common
  admin: Enable usage of typed parameters
  util: Refactor thread creation by introducing virThreadPoolExpand
  util: Report system error when virThreadCreateFull fails
  util: Use a mutex when retrieving threadpool data
  util: Add more getters to threadpool parameters
  admin: Prepare admin protocol for future worker related procedures
  admin: Introduce virAdmServerGethreadPoolParameters
  admin: Introduce virAdmServerSetThreadPoolParameters
  virt-admin: Introduce srv-threadpool-info and srv-threadpool-set
    commands

 cfg.mk                              |   2 +-
 daemon/admin.c                      |  88 +++++++++++++
 daemon/admin_server.c               | 110 ++++++++++++++++
 daemon/admin_server.h               |  11 ++
 include/libvirt/libvirt-admin.h     |  71 +++++++++++
 include/libvirt/libvirt-common.h.in | 185 +++++++++++++++++++++++++++
 include/libvirt/libvirt-host.h      | 186 ----------------------------
 po/POTFILES.in                      |   4 +-
 src/admin/admin_protocol.x          |  54 +++++++-
 src/admin/admin_remote.c            |  77 ++++++++++++
 src/admin_protocol-structs          |  45 +++++++
 src/libvirt-admin.c                 |  83 +++++++++++++
 src/libvirt_admin_private.syms      |   3 +
 src/libvirt_admin_public.syms       |   2 +
 src/libvirt_private.syms            |   4 +
 src/rpc/virnetserver.c              |  37 ++++++
 src/rpc/virnetserver.h              |  13 ++
 src/util/virthreadpool.c            | 241 ++++++++++++++++++++++++++----------
 src/util/virthreadpool.h            |   8 ++
 tools/virt-admin.c                  | 185 +++++++++++++++++++++++++++
 20 files changed, 1152 insertions(+), 257 deletions(-)

-- 
2.4.11




More information about the libvir-list mailing list