import tuned-2.14.0-3.el8_3.1
This commit is contained in:
parent
7001fbce56
commit
77913ef8ee
@ -0,0 +1,143 @@
|
|||||||
|
diff --git a/profiles/realtime-virtual-host/find-lapictscdeadline-optimal.sh b/profiles/realtime-virtual-host/find-lapictscdeadline-optimal.sh
|
||||||
|
deleted file mode 100755
|
||||||
|
index 539c47e..0000000
|
||||||
|
--- a/profiles/realtime-virtual-host/find-lapictscdeadline-optimal.sh
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,30 +0,0 @@
|
||||||
|
-#!/bin/bash
|
||||||
|
-
|
||||||
|
-: ${1?"Usage: $0 latency-file"}
|
||||||
|
-
|
||||||
|
-lines=`wc -l $1 | cut -f 1 -d " "`
|
||||||
|
-in_range=0
|
||||||
|
-prev_value=1
|
||||||
|
-for i in `seq 1 $lines`; do
|
||||||
|
- a=`awk "NR==$i" $1 | cut -f 2 -d ":"`
|
||||||
|
- value=$(($a*100/$prev_value))
|
||||||
|
- if [ $value -ge 98 -a $value -le 102 ]; then
|
||||||
|
- in_range=$(($in_range + 1))
|
||||||
|
- else
|
||||||
|
- in_range=0
|
||||||
|
- fi
|
||||||
|
- if [ $in_range -ge 2 ]; then
|
||||||
|
- echo -n "optimal value for lapic_timer_advance_ns is: "
|
||||||
|
- awk "NR==$(($i - 1))" $1 | cut -f 1 -d ":"
|
||||||
|
- exit 0
|
||||||
|
- fi
|
||||||
|
- prev_value=$a
|
||||||
|
-done
|
||||||
|
-# if still decreasing, then use highest ns value
|
||||||
|
-if [ $value -le 99 ]; then
|
||||||
|
- echo -n "optimal value for lapic_timer_advance_ns is: "
|
||||||
|
- awk "NR==$(($i - 1))" $1 | cut -f 1 -d ":"
|
||||||
|
- exit 0
|
||||||
|
-fi
|
||||||
|
-echo optimal not found
|
||||||
|
-exit 1
|
||||||
|
diff --git a/profiles/realtime-virtual-host/script.sh b/profiles/realtime-virtual-host/script.sh
|
||||||
|
index edae6c5..a11dac7 100755
|
||||||
|
--- a/profiles/realtime-virtual-host/script.sh
|
||||||
|
+++ b/profiles/realtime-virtual-host/script.sh
|
||||||
|
@@ -2,102 +2,13 @@
|
||||||
|
|
||||||
|
. /usr/lib/tuned/functions
|
||||||
|
|
||||||
|
-CACHE_VALUE_FILE=./lapic_timer_adv_ns
|
||||||
|
-CACHE_CPU_FILE=./lapic_timer_adv_ns.cpumodel
|
||||||
|
-KVM_LAPIC_FILE=/sys/module/kvm/parameters/lapic_timer_advance_ns
|
||||||
|
KTIMER_LOCKLESS_FILE=/sys/kernel/ktimer_lockless_check
|
||||||
|
-QEMU=$(type -P qemu-kvm || echo /usr/libexec/qemu-kvm)
|
||||||
|
-TSCDEADLINE_LATENCY="/usr/share/qemu-kvm/tscdeadline_latency.flat"
|
||||||
|
-[ -f "$TSCDEADLINE_LATENCY" ] || TSCDEADLINE_LATENCY="/usr/share/tuned-profiles-nfv-host-bin/tscdeadline_latency.flat"
|
||||||
|
-[ -f "$TSCDEADLINE_LATENCY" ] || TSCDEADLINE_LATENCY="/usr/share/tuned/tscdeadline_latency.flat"
|
||||||
|
-
|
||||||
|
-run_tsc_deadline_latency()
|
||||||
|
-{
|
||||||
|
- dir=`mktemp -d`
|
||||||
|
-
|
||||||
|
- for i in `seq 1000 500 7000`; do
|
||||||
|
- echo $i > $KVM_LAPIC_FILE
|
||||||
|
-
|
||||||
|
- unixpath=`mktemp`
|
||||||
|
-
|
||||||
|
- chrt -f 1 $QEMU -S -enable-kvm -device pc-testdev \
|
||||||
|
- -device isa-debug-exit,iobase=0xf4,iosize=0x4 \
|
||||||
|
- -display none -serial stdio -device pci-testdev \
|
||||||
|
- -kernel "$TSCDEADLINE_LATENCY" \
|
||||||
|
- -cpu host,tsc-deadline=on \
|
||||||
|
- -mon chardev=char0,mode=readline \
|
||||||
|
- -chardev socket,id=char0,nowait,path=$unixpath,server | grep latency | cut -f 2 -d ":" > $dir/out &
|
||||||
|
-
|
||||||
|
- sleep 1s
|
||||||
|
- pidofvcpu=`echo "info cpus" | ncat -U $unixpath | grep thread_id | cut -f 3 -d "=" | tr -d "\r"`
|
||||||
|
- taskset -p -c $1 $pidofvcpu >/dev/null
|
||||||
|
- echo "cont" | ncat -U $unixpath >/dev/null
|
||||||
|
- wait
|
||||||
|
-
|
||||||
|
- if [ ! -f $dir/out ]; then
|
||||||
|
- die running $TSCDEADLINE_LATENCY failed
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- tmp=$(wc -l $dir/out | awk '{ print $1 }')
|
||||||
|
- if [ $tmp -eq 0 ]; then
|
||||||
|
- die running $TSCDEADLINE_LATENCY failed
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- A=0
|
||||||
|
- while read l; do
|
||||||
|
- A=$(($A+$l))
|
||||||
|
- done < $dir/out
|
||||||
|
-
|
||||||
|
- lines=`wc -l $dir/out | cut -f 1 -d " "`
|
||||||
|
- ans=$(($A/$lines))
|
||||||
|
- echo $i: $ans
|
||||||
|
- done
|
||||||
|
-}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
setup_kvm_mod_low_latency
|
||||||
|
|
||||||
|
disable_ksm
|
||||||
|
|
||||||
|
- # If CPU model has changed, clean the cache
|
||||||
|
- if [ -f $CACHE_CPU_FILE ]; then
|
||||||
|
- curmodel=`cat /proc/cpuinfo | grep "model name" | cut -f 2 -d ":" | uniq`
|
||||||
|
- if [ -z "$curmodel" ]; then
|
||||||
|
- die failed to read CPU model
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- genmodel=`cat $CACHE_CPU_FILE`
|
||||||
|
-
|
||||||
|
- if [ "$curmodel" != "$genmodel" ]; then
|
||||||
|
- rm -f $CACHE_VALUE_FILE
|
||||||
|
- rm -f $CACHE_CPU_FILE
|
||||||
|
- fi
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- # If the cache is empty, find the best lapic_timer_advance_ns value
|
||||||
|
- # and cache it
|
||||||
|
-
|
||||||
|
- if [ ! -f $KVM_LAPIC_FILE ]; then
|
||||||
|
- die $KVM_LAPIC_FILE not found
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- if [ ! -f $CACHE_VALUE_FILE ]; then
|
||||||
|
- if [ -f "$TSCDEADLINE_LATENCY" ]; then
|
||||||
|
- tempdir=`mktemp -d`
|
||||||
|
- isolatedcpu=`echo "$TUNED_isolated_cores_expanded" | cut -f 1 -d ","`
|
||||||
|
- run_tsc_deadline_latency $isolatedcpu > $tempdir/lat.out
|
||||||
|
- if ! ./find-lapictscdeadline-optimal.sh $tempdir/lat.out > $tempdir/opt.out; then
|
||||||
|
- die could not find optimal latency
|
||||||
|
- fi
|
||||||
|
- echo `cat $tempdir/opt.out | cut -f 2 -d ":"` > $CACHE_VALUE_FILE
|
||||||
|
- curmodel=`cat /proc/cpuinfo | grep "model name" | cut -f 2 -d ":" | uniq`
|
||||||
|
- echo "$curmodel" > $CACHE_CPU_FILE
|
||||||
|
- fi
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- if [ -f $CACHE_VALUE_FILE ]; then
|
||||||
|
- echo `cat $CACHE_VALUE_FILE` > $KVM_LAPIC_FILE
|
||||||
|
- fi
|
||||||
|
systemctl start rt-entsk
|
||||||
|
|
||||||
|
if [ -f $KTIMER_LOCKLESS_FILE ]; then
|
@ -34,7 +34,7 @@
|
|||||||
Summary: A dynamic adaptive system tuning daemon
|
Summary: A dynamic adaptive system tuning daemon
|
||||||
Name: tuned
|
Name: tuned
|
||||||
Version: 2.14.0
|
Version: 2.14.0
|
||||||
Release: 3%{?prerel1}%{?dist}
|
Release: 3%{?prerel1}%{?dist}.1
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz
|
Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz
|
||||||
# RHEL-8 specific recommend.conf:
|
# RHEL-8 specific recommend.conf:
|
||||||
@ -77,6 +77,7 @@ Requires: python3-syspurpose
|
|||||||
%endif
|
%endif
|
||||||
Patch0: tuned-2.14.0-amd-performance-regression-fix.patch
|
Patch0: tuned-2.14.0-amd-performance-regression-fix.patch
|
||||||
Patch1: tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch
|
Patch1: tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch
|
||||||
|
Patch2: tuned-2.14.0-realtime-virtual-host-remove-lapic-advancement.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The tuned package contains a daemon that tunes system settings dynamically.
|
The tuned package contains a daemon that tunes system settings dynamically.
|
||||||
@ -186,11 +187,6 @@ Requires: %{name} = %{version}
|
|||||||
Requires: %{name}-profiles-realtime = %{version}
|
Requires: %{name}-profiles-realtime = %{version}
|
||||||
Requires: tuna
|
Requires: tuna
|
||||||
Requires: nmap-ncat
|
Requires: nmap-ncat
|
||||||
%if 0%{?rhel} == 7
|
|
||||||
Requires: qemu-kvm-tools-rhev
|
|
||||||
%else
|
|
||||||
Recommends: tuned-profiles-nfv-host-bin
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description profiles-nfv-host
|
%description profiles-nfv-host
|
||||||
Additional tuned profile(s) targeted to Network Function Virtualization (NFV) host.
|
Additional tuned profile(s) targeted to Network Function Virtualization (NFV) host.
|
||||||
@ -232,6 +228,7 @@ It can be also used to fine tune your system for specific scenarios.
|
|||||||
|
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
# Replace the upstream recommend.conf with a RHEL-8-specific one
|
# Replace the upstream recommend.conf with a RHEL-8-specific one
|
||||||
rm -f recommend.conf
|
rm -f recommend.conf
|
||||||
@ -486,6 +483,11 @@ fi
|
|||||||
%{_mandir}/man7/tuned-profiles-compat.7*
|
%{_mandir}/man7/tuned-profiles-compat.7*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Oct 2 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.14.0-3.1
|
||||||
|
- realtime-virtual-host: remove lapic advancement calculation and
|
||||||
|
related qemu-kvm-tools-rhev requirement
|
||||||
|
Resolves: rhbz#1884544
|
||||||
|
|
||||||
* Fri Jul 3 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.14.0-3
|
* Fri Jul 3 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.14.0-3
|
||||||
- scheduler: fixed isolated_cores to work with cgroups
|
- scheduler: fixed isolated_cores to work with cgroups
|
||||||
related: rhbz#1784648
|
related: rhbz#1784648
|
||||||
|
Loading…
Reference in New Issue
Block a user