From 83ee596ef28811048d5a39fdb319fc3f36a5f848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Thu, 16 Dec 2021 01:26:16 +0100 Subject: [PATCH] cpu_partitioning: fixed no_balance_cores on newer kernels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I.e. kernels without the SD_LOAD_BALANCE. Resolves: rhbz#1874596 Signed-off-by: Jaroslav Škarvada --- profiles/cpu-partitioning/script.sh | 36 ---------------------------- profiles/cpu-partitioning/tuned.conf | 4 +++- 2 files changed, 3 insertions(+), 37 deletions(-) diff --git a/profiles/cpu-partitioning/script.sh b/profiles/cpu-partitioning/script.sh index 8677050..84e04fd 100755 --- a/profiles/cpu-partitioning/script.sh +++ b/profiles/cpu-partitioning/script.sh @@ -2,38 +2,6 @@ . /usr/lib/tuned/functions -no_balance_cpus_file=$STORAGE/no-balance-cpus.txt - -change_sd_balance_bit() -{ - local set_bit=$1 - local flags_cur= - local file= - local cpu= - - for cpu in $(cat $no_balance_cpus_file); do - for file in $(find /proc/sys/kernel/sched_domain/cpu$cpu -name flags -print); do - flags_cur=$(cat $file) - if [ $set_bit -eq 1 ]; then - flags_cur=$((flags_cur | 0x1)) - else - flags_cur=$((flags_cur & 0xfffe)) - fi - echo $flags_cur > $file - done - done -} - -disable_balance_domains() -{ - change_sd_balance_bit 0 -} - -enable_balance_domains() -{ - change_sd_balance_bit 1 -} - start() { mkdir -p "${TUNED_tmpdir}/etc/systemd" mkdir -p "${TUNED_tmpdir}/usr/lib/dracut/hooks/pre-udev" @@ -41,9 +9,6 @@ start() { cp 00-tuned-pre-udev.sh "${TUNED_tmpdir}/usr/lib/dracut/hooks/pre-udev/" setup_kvm_mod_low_latency disable_ksm - - echo "$TUNED_no_balance_cores_expanded" | sed 's/,/ /g' > $no_balance_cpus_file - disable_balance_domains return "$?" } @@ -53,7 +18,6 @@ stop() { teardown_kvm_mod_low_latency enable_ksm fi - enable_balance_domains return "$?" } diff --git a/profiles/cpu-partitioning/tuned.conf b/profiles/cpu-partitioning/tuned.conf index 842e2bd..979e40b 100644 --- a/profiles/cpu-partitioning/tuned.conf +++ b/profiles/cpu-partitioning/tuned.conf @@ -35,6 +35,8 @@ no_balance_cores_expanded=${f:cpulist_unpack:${no_balance_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}} +cmd_isolcpus=${f:regex_search_ternary:${no_balance_cores}:\s*[0-9]: isolcpus=${no_balance_cores}:} + [sysctl] kernel.hung_task_timeout_secs = 600 kernel.nmi_watchdog = 0 @@ -66,4 +68,4 @@ priority=10 initrd_remove_dir=True initrd_dst_img=tuned-initrd.img initrd_add_dir=${tmpdir} -cmdline_cpu_part=+nohz=on nohz_full=${isolated_cores} rcu_nocbs=${isolated_cores} tuned.non_isolcpus=${not_isolated_cpumask} intel_pstate=disable nosoftlockup +cmdline_cpu_part=+nohz=on${cmd_isolcpus} nohz_full=${isolated_cores} rcu_nocbs=${isolated_cores} tuned.non_isolcpus=${not_isolated_cpumask} intel_pstate=disable nosoftlockup