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