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 boot parameters that affects real-time behavior
kernel_cmdline.isolcpus¶
Type: string
Optional
A string formatted as CPU lists. Isolate CPUs from general execution.
kernel_cmdline.nohz¶
Type: enum
Optional
Enable/disable dynamic ticks during idle time.
Valid values are:
on
: Enables dynamic ticksoff
:Disables dynamic ticks
kernel_cmdline.nohz_full¶
Type: string
Optional
A string formatted as CPU lists. Specifies the adaptive-ticks cpus, which means the specified list of CPUs whose tick will be stopped whenever possible. The boot CPU will be forced outside the range to maintain the timekeeping.
kernel_cmdline.kthread_cpus¶
Type: string
Optional
A string formatted as CPU lists. Specifies the list of CPUs to be allocated for kernel threads.
kernel_cmdline.irqaffinity¶
Type: string
Optional
A string formatted as CPU lists. Specifies the list of CPUs for IRQ handling.
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:
edge
fasteoi
irq_tuning[*].filter.type¶
Type: enum
Optional
The type of the interrupt. Valid values:
edge
level
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.