48 lines
1.5 KiB
Text
48 lines
1.5 KiB
Text
#
|
|
# tuned configuration
|
|
#
|
|
# Dependencies:
|
|
#
|
|
# - tuna
|
|
# - awk
|
|
# - wc
|
|
|
|
[main]
|
|
summary=Optimize for KVM guests running realtime workloads
|
|
include=realtime
|
|
|
|
[variables]
|
|
# User is responsible for adding isolated_cores=X-Y to realtime-virtual-host-variables.conf
|
|
include=/etc/tuned/realtime-virtual-host-variables.conf
|
|
|
|
isolated_cores_assert_check = \\${isolated_cores}
|
|
# Fail if isolated_cores are not set
|
|
assert1=${f:assertion_non_equal:isolated_cores are set:${isolated_cores}:${isolated_cores_assert_check}}
|
|
|
|
isolated_cores_expanded=${f:cpulist_unpack:${isolated_cores}}
|
|
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}}
|
|
|
|
[scheduler]
|
|
# group.group_name=rule_priority:scheduler_policy:scheduler_priority:core_affinity_in_hex:process_name_regex
|
|
# for i in `pgrep ksoftirqd` ; do grep Cpus_allowed_list /proc/$i/status ; done
|
|
group.ksoftirqd=0:f:2:*:ksoftirqd.*
|
|
|
|
# for i in `pgrep rcuc` ; do grep Cpus_allowed_list /proc/$i/status ; done
|
|
group.rcuc=0:f:4:*:rcuc.*
|
|
|
|
# for i in `pgrep rcub` ; do grep Cpus_allowed_list /proc/$i/status ; done
|
|
group.rcub=0:f:4:*:rcub.*
|
|
|
|
# for i in `pgrep ktimersoftd` ; do grep Cpus_allowed_list /proc/$i/status ; done
|
|
group.ktimersoftd=0:f:3:*:ktimersoftd.*
|
|
|
|
ps_blacklist=ksoftirqd.*;rcuc.*;rcub.*;ktimersoftd.*
|
|
|
|
[script]
|
|
script=${i:PROFILE_DIR}/script.sh
|
|
|
|
[bootloader]
|
|
cmdline_rvh=+nohz=on nohz_full=${isolated_cores} rcu_nocbs=${isolated_cores}
|