The policy SCHED_DEADLINE is available since kernel 3.14 (and most likely
backported to older RT_PREEMPT kernels). It is safer to use than fifo or round
robin policies due to only limiting part of cpu time for the RT process,
leading to lack of lockups of the host.
The series adds new vcpusched/iothreadsched called 'deadline' that activates
SCHED_DEADLINE for given process. As the scheduler is linux specific, extra
implementation was required - it is not possible to use sched_setscheduler,
sched_setattr syscall must be used.
Changes in v2:
* using newly merged SCHED_* facilities
* split renaming and refactoring in virDomainFormatSchedDef
* squashed conf additions
* moved error handling to *PostParse
Martin Polednik (5):
conf: add entries for deadline scheduler
util: allow virProcessSetScheduler to set SCHED_DEADLINE
virDomainFormatSchedDef: factor out subset code
virDomainFormatSchedDef: rename prioMap and nextprio
conf: add deadline scheduler
docs/formatdomain.html.in | 15 ++--
docs/schemas/domaincommon.rng | 16 ++++
src/conf/domain_conf.c | 179 ++++++++++++++++++++++++++++++++++++------
src/conf/domain_conf.h | 3 +
src/qemu/qemu_process.c | 3 +-
src/util/virprocess.c | 50 ++++++++++--
src/util/virprocess.h | 26 +++++-
7 files changed, 256 insertions(+), 36 deletions(-)
--
2.8.1