RT Conf YAML configuration schema¶
The following schema reflects all settings available in the configuration file of the rt-conf tool
There are three top-level dictionaries in the configuration file:, kernel_cmdline, irq_tuning and cpu_governance.
kernel_cmdline¶
Type: dict
Optional
kernel_cmdline.parameters¶
Type: list[string]
Optional
Kernel boot parameters that affects real-time behavior.
Validated parameters
rt-conf performs syntax validation on all parameters names.
In addition, rt-conf carries out syntax validation on values of the parameters which are common for real-time tuning. These parameters are:
nohz_full
rcu_nocbs
irq_tuning¶
Type: list[dict]
Optional
A list of configurations including the list of cpus to be applied and the filters. Runtime configurations that aren’t persisted, related to IRQ affinity tuning.
Example:
irq_tuning:
- cpus: "2-3"
filter:
actions: "iwlwifi"
chip_name: "IR-PCI"
name: "edge"
type: "edge"
irq_tuning[*].cpus¶
Type string
Required
A string formatted as CPU lists. Specifies the list of CPUs which will handle the matched IRQs on the filter.
irq_tuning[*].filter¶
Type: dict
Required
A dictionary with keys related to IRQ properties of /sys/kernel/irq/<IRQ-num>/.
irq_tuning[*].filter.actions¶
Type: regex string
Optional
The IRQ action chain. A comma-separated list of zero or more device names associated with this interrupt.
For network related, generally is the name of the network interface shown in ip link show.
irq_tuning[*].filter.chip_name¶
Type: regex string
Optional
Chip name supplied by the associated device driver.
Example: IR-PCI-MSIX-0000:04:00.0
irq_tuning[*].filter.name¶
Type: regex string
Optional
Human-readable flow handler name as defined by the irq chip driver. Example values are:
edgefasteoi
irq_tuning[*].filter.type¶
Type: enum
Optional
The type of the interrupt. Valid values:
edgelevel
cpu_governance¶
Type: list[dict]
Optional
Runtime configurations that aren’t persisted, related to cpu power management. A list of dictionaries with the CPU scaling governor and the cpu list to be applied.
Example:
cpu_governance:
- cpus: "0-1"
scaling_governor: "performance"
cpu_governance[*].cpus¶
Type: string
Required
A string formatted as CPU lists. Specifies which cpus are going to be configured with the scaling governor specified in the item.
cpu_governance[*].scaling_governor¶
Type: string
Required
The chosen scaling governor.
Valid values:
performance: Run the CPU at the maximum frequency, get from/sys/devices/system/cpu/cpuX/cpufreq/scaling_max_freq.powersave: Run the CPU at the minimum frequency, get from/sys/devices/system/cpu/cpuX/cpufreq/scaling_min_freq.userspace: Run the CPU at user specified frequencies, configurable via/sys/devices/system/cpu/cpuX/cpufreq/scaling_setspeed.ondemand: Scales the frequency dynamically according to current load. Jumps to the highest frequency and then possibly back off as the idle time increases.conservative: Scales the frequency dynamically according to current load (more gradually than ondemand).schedutil: Scheduler-driven CPU frequency selection.