1
0
Fork 0

Merge pull request #345 from pjps/RHBZ#1947858

RHBZ#1947858 profiles: improve realtime verify functions
This commit is contained in:
Jaroslav Škarvada 2021-05-13 12:11:13 +02:00 committed by GitHub
commit 1a3245f47f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 43 additions and 24 deletions

View file

@ -2,13 +2,8 @@
. /usr/lib/tuned/functions
KTIMER_LOCKLESS_FILE=/sys/kernel/ktimer_lockless_check
start() {
if [ -f $KTIMER_LOCKLESS_FILE ]; then
echo 1 > $KTIMER_LOCKLESS_FILE
fi
return "$?"
return 0
}
stop() {
@ -16,7 +11,7 @@ stop() {
}
verify() {
return "$?"
return 0
}
process $@

View file

@ -36,6 +36,11 @@ group.ktimersoftd=0:f:3:*:ktimersoftd.*
ps_blacklist=ksoftirqd.*;rcuc.*;rcub.*;ktimersoftd.*
[sysfs]
# Perform lockless check for timer softirq on isolated CPUs.
#
/sys/kernel/ktimer_lockless_check = 1
[script]
script=${i:PROFILE_DIR}/script.sh

View file

@ -2,36 +2,39 @@
. /usr/lib/tuned/functions
KTIMER_LOCKLESS_FILE=/sys/kernel/ktimer_lockless_check
start() {
setup_kvm_mod_low_latency
disable_ksm
if [ -f $KTIMER_LOCKLESS_FILE ]; then
echo 1 > $KTIMER_LOCKLESS_FILE
fi
return 0
}
stop() {
if [ "$1" = "full_rollback" ]; then
teardown_kvm_mod_low_latency
enable_ksm
fi
return "$?"
}
verify() {
retval=0
# set via /etc/modprobe.d/kvm.conf and /etc/modprobe.d/kvm.rt.tuned.conf
if [ -f /sys/module/kvm/parameters/kvmclock_periodic_sync ]; then
test "$(cat /sys/module/kvm/parameters/kvmclock_periodic_sync)" = 0
retval=$?
kps=$(cat /sys/module/kvm/parameters/kvmclock_periodic_sync)
if [ "$kps" = "N" -o "$kps" = "0" ]; then
echo " kvmclock_periodic_sync:($kps): disabled: okay"
else
echo " kvmclock_periodic_sync:($kps): enabled: expected N(0)"
retval=1
fi
fi
if [ $retval -eq 0 -a -f /sys/module/kvm_intel/parameters/ple_gap ]; then
test "$(cat /sys/module/kvm_intel/parameters/ple_gap)" = 0
retval=$?
if [ -f /sys/module/kvm_intel/parameters/ple_gap ]; then
ple_gap=$(cat /sys/module/kvm_intel/parameters/ple_gap)
if [ $ple_gap -eq 0 ]; then
echo " ple_gap:($ple_gap): disabled: okay"
else
echo " ple_gap:($ple_gap): enabled: expected 0"
retval=1
fi
fi
return $retval
}

View file

@ -41,6 +41,18 @@ group.ktimersoftd=0:f:3:*:ktimersoftd.*
ps_blacklist=ksoftirqd.*;rcuc.*;rcub.*;ktimersoftd.*;.*pmd.*;.*PMD.*;^DPDK;.*qemu-kvm.*
[sysfs]
# Stop kernel same page merge (KSM) daemon, it may introduce latencies.
#
# 0: stop ksmd, keep merged pages
# 1: run ksmd
# 2: stop ksmd, unmerge all pages
/sys/kernel/mm/ksm/run = 2
# Perform lockless check for timer softirq on isolated CPUs.
#
/sys/kernel/ktimer_lockless_check = 1
[script]
script=${i:PROFILE_DIR}/script.sh

View file

@ -11,8 +11,12 @@ stop() {
}
verify() {
tuna -c "$TUNED_isolated_cores" -P
return "$?"
retval=0
if [ "$TUNED_isolated_cores" ]; then
tuna -c "$TUNED_isolated_cores" -P > /dev/null 2>&1
retval=$?
fi
return $retval
}
process $@