diff --git a/runtime-config-linux.md b/runtime-config-linux.md index b9d633c87..0b84ee146 100644 --- a/runtime-config-linux.md +++ b/runtime-config-linux.md @@ -141,7 +141,7 @@ The following parameters can be specified: ## Control groups Also known as cgroups, they are used to restrict resource usage for a container and handle device access. -cgroups provide controls to restrict cpu, memory, IO, pids and network for the container. +cgroups provide controls to restrict cpu, memory, IO, pids, network and intel_rdt for the container. For more information, see the [kernel cgroups documentation](https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt). The path to the cgroups can be specified in the Spec via `cgroupsPath`. @@ -384,6 +384,23 @@ The following paramters can be specified to setup the controller: } ``` +#### Intel_rdt + +`intel_rdt` represents the cgroup subsystem `intel_rdt`. +For more information, see [the intel_rdt cgroup man page](https://lkml.org/lkml/2015/10/2/74). + +The following paramters can be specified to setup the controller: + +* **`l3Cbm`** *(string, optional)* - specifies L3 cache capacity bitmask (CBM) in the cgroup + +###### Example + +```json + "intel_rdt": { + "l3Cbm": "0xff0" + } +``` + ## Sysctl sysctl allows kernel parameters to be modified at runtime for the container. diff --git a/runtime_config_linux.go b/runtime_config_linux.go index 0ce0c1083..083e41343 100644 --- a/runtime_config_linux.go +++ b/runtime_config_linux.go @@ -198,6 +198,12 @@ type Network struct { Priorities []InterfacePriority `json:"priorities"` } +// IntelRdt for Linux cgroup 'intel_rdt' resource management +type IntelRdt struct { + // L3 cache capacity bitmask (CBM) for container + L3Cbm *string `json:"l3Cbm,omitempty"` +} + // Resources has container runtime resource constraints type Resources struct { // DisableOOMKiller disables the OOM killer for out of memory conditions @@ -216,6 +222,8 @@ type Resources struct { HugepageLimits []HugepageLimit `json:"hugepageLimits,omitempty"` // Network restriction configuration Network *Network `json:"network,omitempty"` + // IntelRdt restriction configuration + IntelRdt *IntelRdt `json:"intelRdt,omitempty"` } // Device represents the information on a Linux special device file