This feature has been requested by KubeVirt developers and will make it possible for them to make some VFIO-related features, such as migration and hotplug, work correctly. https://bugzilla.redhat.com/show_bug.cgi?id=1916346 The first part of the series, especially the first 9 patches, is preparation work: it addresses a few annoying issues with our APIs that deal with process limits, and makes them all nice, consistent and easy to reason about while moving policy code from the generic code to the QEMU driver where it belongs. Andrea Bolognani (17): util: Document limit-related functions util: Simplify stubs util: Always pass a pid to virProcessSetMax*() util: Introduce virProcess{Get,Set}Limit() qemu: Make some minor tweaks qemu: Set all limits at the same time util: Have virCommand remember whether limits are set qemu: Set limits only when explicitly asked to do so util: Don't special-case setting a limit to zero conf: Rename original_memlock -> originalMemlock tests: Mock virProcessGetMaxMemLock() util: Try to get limits from /proc qemu: Don't ignore virProcessGetMaxMemLock() errors qemu: Refactor qemuDomainAdjustMaxMemLock() qemu: Add external_limit_manager config knob qemu: Wire up external limit manager news: Document external limit manager feature NEWS.rst | 10 + src/conf/domain_conf.h | 5 +- src/qemu/libvirtd_qemu.aug | 1 + src/qemu/qemu.conf | 12 + src/qemu/qemu_command.c | 4 - src/qemu/qemu_conf.c | 4 + src/qemu/qemu_conf.h | 1 + src/qemu/qemu_domain.c | 47 ++-- src/qemu/qemu_migration.c | 2 + src/qemu/qemu_process.c | 30 ++- src/qemu/test_libvirtd_qemu.aug.in | 1 + src/util/vircommand.c | 21 +- src/util/virprocess.c | 340 ++++++++++++++++++++--------- src/util/virprocess.h | 2 +- tests/virprocessmock.c | 7 + 15 files changed, 354 insertions(+), 133 deletions(-) -- 2.26.2