[PATCH v2 0/9] qemu: Enable SCHED_CORE for domains and helper processes

Michal Privoznik mprivozn at redhat.com
Mon Jun 27 10:44:32 UTC 2022


v2 of:

https://listman.redhat.com/archives/libvir-list/2022-May/230902.html

While technically, the original series was "just" and RFC, it got proper
review and thus I'm marking this as v2.

What's still missing?
=====================

* Per Dario's suggestion, we should take vcpu pinning (and possibly
  emulator pinning as well) into account, so that the guest doesn't have
  to do SCHED_CORE inside it.

* per-VM knob to enable/disable SCHED_CORE. But as discussed under my
  RFC patches, it's probably not needed, at least for now. It can always
  be added later, should somebody need it.

Diff to v1:
===========

* Turned qemu.conf knob into an enum rather than boolean, so that users
  can chose whether helper processes are placed into the emulator group
  too

* Cleaned up virCommand* code; per Dan's suggestion use one variable to
  differentiate runAlone/runAmong states, instead of two.

Michal Prívozník (9):
  qemu_dbus: Separate PID read code into qemuDBusGetPID
  qemu_vhost_user_gpu: Export qemuVhostUserGPUGetPid()
  qemu_tpm: Expose qemuTPMEmulatorGetPid()
  qemu_virtiofs: Separate PID read code into qemuVirtioFSGetPid
  virprocess: Core Scheduling support
  virCommand: Introduce APIs for core scheduling
  qemu_conf: Introduce a knob to set SCHED_CORE
  qemu: Enable SCHED_CORE for domains and helper processes
  qemu: Place helper processes into the same trusted group

 src/libvirt_private.syms           |   6 ++
 src/qemu/libvirtd_qemu.aug         |   1 +
 src/qemu/qemu.conf.in              |  14 ++++
 src/qemu/qemu_conf.c               |  42 ++++++++++
 src/qemu/qemu_conf.h               |  11 +++
 src/qemu/qemu_dbus.c               |  42 +++++++---
 src/qemu/qemu_dbus.h               |   4 +
 src/qemu/qemu_extdevice.c          | 120 ++++++++++++++++++++++++++++
 src/qemu/qemu_extdevice.h          |   3 +
 src/qemu/qemu_process.c            |   9 +++
 src/qemu/qemu_security.c           |   4 +
 src/qemu/qemu_tpm.c                |   2 +-
 src/qemu/qemu_tpm.h                |   7 ++
 src/qemu/qemu_vhost_user_gpu.c     |   2 +-
 src/qemu/qemu_vhost_user_gpu.h     |   8 ++
 src/qemu/qemu_virtiofs.c           |  41 +++++++---
 src/qemu/qemu_virtiofs.h           |   5 ++
 src/qemu/test_libvirtd_qemu.aug.in |   1 +
 src/util/vircommand.c              |  63 +++++++++++++++
 src/util/vircommand.h              |   5 ++
 src/util/virprocess.c              | 124 +++++++++++++++++++++++++++++
 src/util/virprocess.h              |   8 ++
 22 files changed, 494 insertions(+), 28 deletions(-)

-- 
2.35.1



More information about the libvir-list mailing list