1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use serde::{Deserialize, Serialize};
#[derive(Default, Debug, Serialize, Deserialize)]
/// LinuxCPU for Linux cgroup 'cpu' resource management
pub struct LinuxCpu {
    /// CPU hardcap burst limit (in usecs). Allowed accumulated cpu time additionally for burst in a
    /// given period.
    pub burst: Option<u64>,
    /// CPUs to use within the cpuset. Default is to use any CPU available.
    pub cpus: Option<String>,
    /// cgroups are configured with minimum weight, 0: default behavior, 1: SCHED_IDLE.
    pub idle: Option<i64>,
    /// List of memory nodes in the cpuset. Default is to use any available memory node.
    pub mems: Option<String>,
    /// CPU period to be used for hardcapping (in usecs).
    pub period: Option<u64>,
    /// CPU hardcap limit (in usecs). Allowed cpu time in a given period.
    pub quota: Option<i64>,
    /// CPU period to be used for realtime scheduling (in usecs).
    #[serde(rename = "realtimePeriod")]
    pub realtime_period: Option<u64>,
    /// How much time realtime scheduling may use (in usecs).
    #[serde(rename = "realtimeRuntime")]
    pub realtime_runtime: Option<i64>,
    /// CPU shares (relative weight (ratio) vs. other cgroups with cpu shares).
    pub shares: Option<u64>,
}