conf: Add IOThread quota and period scheduler/cputune defs

https://bugzilla.redhat.com/show_bug.cgi?id=1356937

Add the definitions to allow for viewing/setting cgroup period and quota
limits for IOThreads.

This is similar to the work done for emulator quota and period by
commit ids 'b65dafa' and 'e051c482'.

Being able to view/set the IOThread specific values is related to more
recent changes adding global period (commmit id '4d92d58f') and global
quota (commit id '55ecdae') definitions and qemu support (commit id
'4e17ff79' and 'fbcbd1b2'). With a global setting though, if somehow
the IOThread value in the cgroup hierarchy was set "outside of libvirt"
to a value that is incompatible with the global value.

Allowing control over IOThread specific values provides the capability
to alter the IOThread values as necessary.
This commit is contained in:
John Ferlan
2016-07-25 07:04:38 -04:00
parent 24555136bf
commit 2197ea56d7
8 changed files with 120 additions and 4 deletions

View File

@@ -364,6 +364,22 @@ typedef enum {
*/
# define VIR_DOMAIN_SCHEDULER_EMULATOR_QUOTA "emulator_quota"
/**
* VIR_DOMAIN_SCHEDULER_IOTHREAD_PERIOD:
*
* Macro represents the enforcement period for a quota, in microseconds,
* for IOThreads only, when using the posix scheduler, as a ullong.
*/
# define VIR_DOMAIN_SCHEDULER_IOTHREAD_PERIOD "iothread_period"
/**
* VIR_DOMAIN_SCHEDULER_IOTHREAD_QUOTA:
*
* Macro represents the maximum bandwidth to be used within a period for
* IOThreads only, when using the posix scheduler, as an llong.
*/
# define VIR_DOMAIN_SCHEDULER_IOTHREAD_QUOTA "iothread_quota"
/**
* VIR_DOMAIN_SCHEDULER_WEIGHT:
*
@@ -3612,6 +3628,22 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
*/
# define VIR_DOMAIN_TUNABLE_CPU_EMULATOR_QUOTA "cputune.emulator_quota"
/**
* VIR_DOMAIN_TUNABLE_CPU_IOTHREAD_PERIOD:
*
* Macro represents the enforcement period for a quota, in microseconds, for
* iothreads only, when using the posix scheduler, as VIR_TYPED_PARAM_ULLONG.
*/
# define VIR_DOMAIN_TUNABLE_CPU_IOTHREAD_PERIOD "cputune.iothread_period"
/**
* VIR_DOMAIN_TUNABLE_CPU_IOTHREAD_QUOTA:
*
* Macro represents the maximum bandwidth to be used within a period for
* iothreads only, when using the posix scheduler, as VIR_TYPED_PARAM_LLONG.
*/
# define VIR_DOMAIN_TUNABLE_CPU_IOTHREAD_QUOTA "cputune.iothread_quota"
/**
* VIR_DOMAIN_TUNABLE_BLKDEV_DISK:
*