core: add support for IOReadIOPSMax and IOWriteIOPSMax
cgroup IO controller supports maximum limits for both bandwidth and IOPS but systemd resource control currently only supports bandwidth limits. This patch adds support for IOReadIOPSMax and IOWriteIOPSMax when unified cgroup hierarchy is in use. It isn't difficult to also add BlockIOReadIOPS and BlockIOWriteIOPS for legacy hierarchies but IO control on legacy hierarchies is half-broken anyway, so let's leave it alone for now.
This commit is contained in:
@@ -2272,11 +2272,15 @@ int cg_weight_parse(const char *s, uint64_t *ret) {
|
||||
const uint64_t cgroup_io_limit_defaults[_CGROUP_IO_LIMIT_TYPE_MAX] = {
|
||||
[CGROUP_IO_RBPS_MAX] = CGROUP_LIMIT_MAX,
|
||||
[CGROUP_IO_WBPS_MAX] = CGROUP_LIMIT_MAX,
|
||||
[CGROUP_IO_RIOPS_MAX] = CGROUP_LIMIT_MAX,
|
||||
[CGROUP_IO_WIOPS_MAX] = CGROUP_LIMIT_MAX,
|
||||
};
|
||||
|
||||
static const char* const cgroup_io_limit_type_table[_CGROUP_IO_LIMIT_TYPE_MAX] = {
|
||||
[CGROUP_IO_RBPS_MAX] = "IOReadBandwidthMax",
|
||||
[CGROUP_IO_WBPS_MAX] = "IOWriteBandwidthMax",
|
||||
[CGROUP_IO_RIOPS_MAX] = "IOReadIOPSMax",
|
||||
[CGROUP_IO_WIOPS_MAX] = "IOWriteIOPSMax",
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(cgroup_io_limit_type, CGroupIOLimitType);
|
||||
|
||||
Reference in New Issue
Block a user