Also added regex_search_ternary built-in function.
It takes arguments in the following form:
STR1, REGEX, STR2, STR3
If REGEX matches STR1 (re.search is used), STR2 is returned,
if it doesn't match STR3 is returned.
Example:
[variables]
foo=Y
bar=${f:regex_search_ternary:${foo}:\b[y,Y,1,t,T]\b:foo:bar}
It will result in the 'foo' string stored in the '${bar}' variable.
Resolves: rhbz#1797025
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
53 lines
1.9 KiB
Text
53 lines
1.9 KiB
Text
# tuned configuration
|
|
#
|
|
# Red Hat Enterprise Linux for Real Time Documentation:
|
|
# https://docs.redhat.com
|
|
|
|
[main]
|
|
summary=Optimize for realtime workloads
|
|
include = network-latency
|
|
|
|
[variables]
|
|
# User is responsible for updating variables.conf with variable content such as isolated_cores=X-Y
|
|
include = /etc/tuned/realtime-variables.conf
|
|
|
|
isolated_cores_assert_check = \\${isolated_cores}
|
|
# Make sure isolated_cores is defined before any of the variables that
|
|
# use it (such as assert1) are defined, so that child profiles can set
|
|
# isolated_cores directly in the profile (tuned.conf)
|
|
isolated_cores = ${isolated_cores}
|
|
# Fail if isolated_cores are not set
|
|
assert1=${f:assertion_non_equal:isolated_cores are set:${isolated_cores}:${isolated_cores_assert_check}}
|
|
|
|
# Non-isolated cores cpumask including offline cores
|
|
not_isolated_cpumask = ${f:cpulist2hex_invert:${isolated_cores}}
|
|
isolated_cores_expanded=${f:cpulist_unpack:${isolated_cores}}
|
|
isolated_cpumask=${f:cpulist2hex:${isolated_cores_expanded}}
|
|
isolated_cores_online_expanded=${f:cpulist_online:${isolated_cores}}
|
|
|
|
# Fail if isolated_cores contains CPUs which are not online
|
|
assert2=${f:assertion:isolated_cores contains online CPU(s):${isolated_cores_expanded}:${isolated_cores_online_expanded}}
|
|
|
|
# Assembly managed_irq
|
|
managed_irq=${f:regex_search_ternary:${isolate_managed_irq}:\b[y,Y,1,t,T]\b:managed_irq,domain,:}
|
|
|
|
[sysctl]
|
|
kernel.hung_task_timeout_secs = 600
|
|
kernel.nmi_watchdog = 0
|
|
kernel.sched_rt_runtime_us = -1
|
|
vm.stat_interval = 10
|
|
kernel.timer_migration = 0
|
|
|
|
[sysfs]
|
|
/sys/bus/workqueue/devices/writeback/cpumask = ${not_isolated_cpumask}
|
|
/sys/devices/virtual/workqueue/cpumask = ${not_isolated_cpumask}
|
|
/sys/devices/system/machinecheck/machinecheck*/ignore_ce = 1
|
|
|
|
[bootloader]
|
|
cmdline_realtime=+isolcpus=${managed_irq}${isolated_cores} intel_pstate=disable nosoftlockup tsc=nowatchdog
|
|
|
|
[script]
|
|
script = ${i:PROFILE_DIR}/script.sh
|
|
|
|
[scheduler]
|
|
isolated_cores=${isolated_cores}
|