From 3b7bb04248cbbe3310a13035df00a67aab46216e Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Apr 23 2020 23:15:20 +0000 Subject: import tuned-2.13.0-6.el8 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0472962 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/tuned-2.13.0.tar.gz diff --git a/.tuned.metadata b/.tuned.metadata new file mode 100644 index 0000000..55fb87f --- /dev/null +++ b/.tuned.metadata @@ -0,0 +1 @@ +d3087cc836c493fb6da69326c36ed5ee25ca67bd SOURCES/tuned-2.13.0.tar.gz diff --git a/SOURCES/recommend.conf b/SOURCES/recommend.conf new file mode 100644 index 0000000..9c0b046 --- /dev/null +++ b/SOURCES/recommend.conf @@ -0,0 +1,61 @@ +# Tuned rules for recommend_profile. +# +# Syntax: +# [PROFILE1] +# KEYWORD11=RE11 +# KEYWORD21=RE12 +# +# [PROFILE2] +# KEYWORD21=RE21 +# KEYWORD22=RE22 + +# KEYWORD can be: +# virt - for RE to match output of virt-what +# system - for RE to match content of /etc/system-release-cpe +# process - for RE to match running processes. It can have arbitrary +# suffix, all process* lines have to match for the PROFILE +# to match (i.e. the AND operator) +# /FILE - for RE to match content of the FILE, e.g.: +# '/etc/passwd=.+'. If file doesn't exist, its RE will not +# match. +# chassis_type - for RE to match the chassis type as reported by dmidecode +# syspurpose_role - for RE to match the system role as reported by syspurpose + +# All REs for all KEYWORDs have to match for PROFILE to match (i.e. the AND operator). +# If 'virt' or 'system' is not specified, it matches for every string. +# If 'virt' or 'system' is empty, i.e. 'virt=', it matches only empty string (alias for '^$'). +# If several profiles matched, the first match is taken. +# +# Limitation: +# Each profile can be specified only once, because there cannot be +# multiple sections in the configuration file with the same name +# (ConfigObj limitation). +# If there is a need to specify the profile multiple times, unique +# suffix like ',ANYSTRING' can be used. Everything after the last ',' +# is stripped by the parser, e.g.: +# +# [balanced,1] +# /FILE1=RE1 +# +# [balanced,2] +# /FILE2=RE2 +# +# This will set 'balanced' profile in case there is FILE1 matching RE1 or +# FILE2 matching RE2 or both. + +[atomic-host] +virt= +syspurpose_role=.*atomic.* + +[atomic-guest] +virt=.+ +syspurpose_role=.*atomic.* + +[virtual-guest] +virt=.+ + +[balanced] +syspurpose_role=.*(desktop|workstation).* +chassis_type=.*(Notebook|Laptop|Portable).* + +[throughput-performance] diff --git a/SOURCES/tuned-2.13.0-add-accelerator-performance-profile.patch b/SOURCES/tuned-2.13.0-add-accelerator-performance-profile.patch new file mode 100644 index 0000000..751fde9 --- /dev/null +++ b/SOURCES/tuned-2.13.0-add-accelerator-performance-profile.patch @@ -0,0 +1,103 @@ +From 9535680992da4509b22ba0bc9e3da58a21248e71 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= +Date: Thu, 6 Feb 2020 17:39:22 +0100 +Subject: [PATCH] Add accelerator-performance profile +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Resolves: rhbz#1795604 + +Signed-off-by: Ondřej Lysoněk +--- + man/tuned-profiles.7 | 6 +++ + profiles/accelerator-performance/tuned.conf | 60 +++++++++++++++++++++ + 2 files changed, 66 insertions(+) + create mode 100644 profiles/accelerator-performance/tuned.conf + +diff --git a/man/tuned-profiles.7 b/man/tuned-profiles.7 +index 60a5dc9..aaf140b 100644 +--- a/man/tuned-profiles.7 ++++ b/man/tuned-profiles.7 +@@ -77,6 +77,12 @@ mechanisms and enables sysctl settings that improve the throughput performance + of your disk and network IO. CPU governor is set to performance and CPU energy + performance bias is set to performance. Disk readahead values are increased. + ++.TP ++.BI "accelerator\-performance" ++This profile contains the same tuning as the throughput\-performance profile. ++Additionally, it locks the CPU to low C states so that the latency is less than ++100us. This improves the performance of certain accelerators, such as GPUs. ++ + .TP + .BI "latency\-performance" + Profile for low latency performance tuning. Disables power saving mechanisms. +diff --git a/profiles/accelerator-performance/tuned.conf b/profiles/accelerator-performance/tuned.conf +new file mode 100644 +index 0000000..8068b3b +--- /dev/null ++++ b/profiles/accelerator-performance/tuned.conf +@@ -0,0 +1,60 @@ ++# ++# tuned configuration ++# ++ ++[main] ++summary=Throughput performance based tuning with disabled higher latency STOP states ++ ++[cpu] ++governor=performance ++energy_perf_bias=performance ++min_perf_pct=100 ++force_latency=99 ++ ++[disk] ++readahead=>4096 ++ ++[sysctl] ++# ktune sysctl settings for rhel6 servers, maximizing i/o throughput ++# ++# Minimal preemption granularity for CPU-bound tasks: ++# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds) ++kernel.sched_min_granularity_ns = 10000000 ++ ++# SCHED_OTHER wake-up granularity. ++# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds) ++# ++# This option delays the preemption effects of decoupled workloads ++# and reduces their over-scheduling. Synchronous workloads will still ++# have immediate wakeup/sleep latencies. ++kernel.sched_wakeup_granularity_ns = 15000000 ++ ++# If a workload mostly uses anonymous memory and it hits this limit, the entire ++# working set is buffered for I/O, and any more write buffering would require ++# swapping, so it's time to throttle writes until I/O can catch up. Workloads ++# that mostly use file mappings may be able to use even higher values. ++# ++# The generator of dirty data starts writeback at this percentage (system default ++# is 20%) ++vm.dirty_ratio = 40 ++ ++# Start background writeback (via writeback threads) at this percentage (system ++# default is 10%) ++vm.dirty_background_ratio = 10 ++ ++# PID allocation wrap value. When the kernel's next PID value ++# reaches this value, it wraps back to a minimum PID value. ++# PIDs of value pid_max or larger are not allocated. ++# ++# A suggested value for pid_max is 1024 * <# of cpu cores/threads in system> ++# e.g., a box with 32 cpus, the default of 32768 is reasonable, for 64 cpus, ++# 65536, for 4096 cpus, 4194304 (which is the upper limit possible). ++#kernel.pid_max = 65536 ++ ++# The swappiness parameter controls the tendency of the kernel to move ++# processes out of physical memory and onto the swap disk. ++# 0 tells the kernel to avoid swapping processes out of physical memory ++# for as long as possible ++# 100 tells the kernel to aggressively swap processes out of physical memory ++# and move them to swap cache ++vm.swappiness=10 +-- +2.24.1 + diff --git a/SOURCES/tuned-2.13.0-define-variables-before-use.patch b/SOURCES/tuned-2.13.0-define-variables-before-use.patch new file mode 100644 index 0000000..9663311 --- /dev/null +++ b/SOURCES/tuned-2.13.0-define-variables-before-use.patch @@ -0,0 +1,72 @@ +From 0eb0c6bc7f48afe2f8c1f46ee7c9e7bb08db4163 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= +Date: Mon, 6 Jan 2020 15:50:06 +0100 +Subject: [PATCH] profiles: Make sure variables are defined before use +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Make sure the isolated_cores and no_balance_cores variables are +defined before any of the variables that use them are defined. This +enforces a certain ordering of variable expansions so that child +profiles can set the variables directly in the profile (tuned.conf), +e.g.: + +[main] +include=cpu-partitioning + +[variables] +isolated_cores=3 + +Resolves: rhbz#1781664 + +Signed-off-by: Ondřej Lysoněk +--- + profiles/cpu-partitioning/tuned.conf | 8 ++++++++ + profiles/realtime/tuned.conf | 4 ++++ + 2 files changed, 12 insertions(+) + +diff --git a/profiles/cpu-partitioning/tuned.conf b/profiles/cpu-partitioning/tuned.conf +index 1821b74..5697750 100644 +--- a/profiles/cpu-partitioning/tuned.conf ++++ b/profiles/cpu-partitioning/tuned.conf +@@ -10,6 +10,10 @@ include=network-latency + include=/etc/tuned/cpu-partitioning-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}} + +@@ -22,6 +26,10 @@ not_isolated_cores_expanded=${f:cpulist_invert:${isolated_cores_expanded}} + isolated_cores_online_expanded=${f:cpulist_online:${isolated_cores}} + not_isolated_cores_online_expanded=${f:cpulist_online:${not_isolated_cores_expanded}} + not_isolated_cpumask=${f:cpulist2hex:${not_isolated_cores_expanded}} ++# Make sure no_balance_cores is defined before ++# no_balance_cores_expanded is defined, so that child profiles can set ++# no_balance_cores directly in the profile (tuned.conf) ++no_balance_cores=${no_balance_cores} + no_balance_cores_expanded=${f:cpulist_unpack:${no_balance_cores}} + + # Fail if isolated_cores contains CPUs which are not online +diff --git a/profiles/realtime/tuned.conf b/profiles/realtime/tuned.conf +index 6294d0c..6f5c5b1 100644 +--- a/profiles/realtime/tuned.conf ++++ b/profiles/realtime/tuned.conf +@@ -12,6 +12,10 @@ include = network-latency + 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}} + +-- +2.21.1 + diff --git a/SOURCES/tuned-2.13.0-realtime-cond-support-for-managed_irq.patch b/SOURCES/tuned-2.13.0-realtime-cond-support-for-managed_irq.patch new file mode 100644 index 0000000..ab6b06c --- /dev/null +++ b/SOURCES/tuned-2.13.0-realtime-cond-support-for-managed_irq.patch @@ -0,0 +1,101 @@ +From 5ed61ce394bad089f86a0be4b911cd93eddeb1b3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= +Date: Fri, 20 Mar 2020 18:02:46 +0100 +Subject: [PATCH] realtime: added conditional support for managed_irq +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +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 +--- + profiles/realtime/realtime-variables.conf | 7 +++++++ + profiles/realtime/tuned.conf | 5 ++++- + .../function_regex_search_ternary.py | 21 +++++++++++++++++++ + 3 files changed, 32 insertions(+), 1 deletion(-) + create mode 100644 tuned/profiles/functions/function_regex_search_ternary.py + +diff --git a/profiles/realtime/realtime-variables.conf b/profiles/realtime/realtime-variables.conf +index b91e5f3..c2da595 100644 +--- a/profiles/realtime/realtime-variables.conf ++++ b/profiles/realtime/realtime-variables.conf +@@ -2,3 +2,10 @@ + # isolated_cores=2,4-7 + # isolated_cores=2-23 + # ++# ++# Uncomment the 'isolate_managed_irq=Y' bellow if you want to move kernel ++# managed IRQs out of isolated cores. Note that this requires kernel ++# support. Please only specify this parameter if you are sure that the ++# kernel supports it. ++# ++# isolate_managed_irq=Y +diff --git a/profiles/realtime/tuned.conf b/profiles/realtime/tuned.conf +index 6f5c5b1..a22ffdd 100644 +--- a/profiles/realtime/tuned.conf ++++ b/profiles/realtime/tuned.conf +@@ -28,6 +28,9 @@ 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 +@@ -41,7 +44,7 @@ kernel.timer_migration = 0 + /sys/devices/system/machinecheck/machinecheck*/ignore_ce = 1 + + [bootloader] +-cmdline_realtime=+isolcpus=${isolated_cores} intel_pstate=disable nosoftlockup tsc=nowatchdog ++cmdline_realtime=+isolcpus=${managed_irq}${isolated_cores} intel_pstate=disable nosoftlockup tsc=nowatchdog + + [script] + script = ${i:PROFILE_DIR}/script.sh +diff --git a/tuned/profiles/functions/function_regex_search_ternary.py b/tuned/profiles/functions/function_regex_search_ternary.py +new file mode 100644 +index 0000000..42c4567 +--- /dev/null ++++ b/tuned/profiles/functions/function_regex_search_ternary.py +@@ -0,0 +1,21 @@ ++import re ++from . import base ++ ++class regex_search_ternary(base.Function): ++ """ ++ Ternary regex operator, it takes arguments in the following form ++ STR1, REGEX, STR2, STR3 ++ If REGEX matches STR1 (re.search is used), STR2 is returned, ++ otherwise STR3 is returned ++ """ ++ def __init__(self): ++ # 4 arguments ++ super(regex_search_ternary, self).__init__("regex_search_ternary", 4) ++ ++ def execute(self, args): ++ if not super(regex_search_ternary, self).execute(args): ++ return None ++ if re.search(args[1], args[0]): ++ return args[2] ++ else: ++ return args[3] +-- +2.21.1 + diff --git a/SOURCES/tuned-2.13.0-rename-sst-to-intel-sst.patch b/SOURCES/tuned-2.13.0-rename-sst-to-intel-sst.patch new file mode 100644 index 0000000..8d9b43c --- /dev/null +++ b/SOURCES/tuned-2.13.0-rename-sst-to-intel-sst.patch @@ -0,0 +1,53 @@ +From 20a71af333bcfb4110319b2f626fbfcb1d30870f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= +Date: Tue, 11 Feb 2020 17:44:06 +0100 +Subject: [PATCH] profiles: renamed sst profile to intel-sst +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Also updated intel-sst profile manual page describing its usage. + +Related: rhbz#1743879 + +Signed-off-by: Jaroslav Škarvada +--- + man/tuned-profiles.7 | 6 ++++-- + profiles/{sst => intel-sst}/tuned.conf | 2 +- + 2 files changed, 5 insertions(+), 3 deletions(-) + rename profiles/{sst => intel-sst}/tuned.conf (65%) + +diff --git a/man/tuned-profiles.7 b/man/tuned-profiles.7 +index aaf140b..8e536c2 100644 +--- a/man/tuned-profiles.7 ++++ b/man/tuned-profiles.7 +@@ -122,9 +122,11 @@ Profile optimized for virtual hosts based on throughput\-performance profile. + It additionally enables more aggressive writeback of dirty pages. + + .TP +-.BI "sst" ++.BI "intel-sst" + Profile optimized for systems with user-defined Intel Speed Select Technology +-configurations. ++configurations. This profile is intended to be used as an overlay on other ++profiles (e.g. cpu\-partitioning profile), example: ++.B tuned\-adm profile cpu\-partitioning intel-sst + + .SH "FILES" + .nf +diff --git a/profiles/sst/tuned.conf b/profiles/intel-sst/tuned.conf +similarity index 65% +rename from profiles/sst/tuned.conf +rename to profiles/intel-sst/tuned.conf +index 4566813..c520534 100644 +--- a/profiles/sst/tuned.conf ++++ b/profiles/intel-sst/tuned.conf +@@ -2,4 +2,4 @@ + summary=Configure for Intel Speed Select Base Frequency + + [bootloader] +-cmdline_sst=-intel_pstate=disable ++cmdline_intel_sst=-intel_pstate=disable +-- +2.21.1 + diff --git a/SOURCES/tuned-2.13.0-use-ncat.patch b/SOURCES/tuned-2.13.0-use-ncat.patch new file mode 100644 index 0000000..7ff0b0a --- /dev/null +++ b/SOURCES/tuned-2.13.0-use-ncat.patch @@ -0,0 +1,16 @@ +diff --git a/profiles/realtime-virtual-host/script.sh b/profiles/realtime-virtual-host/script.sh +index c0d5d9e..edae6c5 100755 +--- a/profiles/realtime-virtual-host/script.sh ++++ b/profiles/realtime-virtual-host/script.sh +@@ -29,9 +29,9 @@ run_tsc_deadline_latency() + -chardev socket,id=char0,nowait,path=$unixpath,server | grep latency | cut -f 2 -d ":" > $dir/out & + + sleep 1s +- pidofvcpu=`echo "info cpus" | nc -U $unixpath | grep thread_id | cut -f 3 -d "=" | tr -d "\r"` ++ 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" | nc -U $unixpath >/dev/null ++ echo "cont" | ncat -U $unixpath >/dev/null + wait + + if [ ! -f $dir/out ]; then diff --git a/SPECS/tuned.spec b/SPECS/tuned.spec new file mode 100644 index 0000000..62832e1 --- /dev/null +++ b/SPECS/tuned.spec @@ -0,0 +1,1121 @@ +%if 0%{?fedora} +%if 0%{?fedora} > 27 +%bcond_without python3 +%else +%bcond_with python3 +%endif +%else +%if 0%{?rhel} && 0%{?rhel} < 8 +%bcond_with python3 +%else +%bcond_without python3 +%endif +%endif + +%if %{with python3} +%global _py python3 +%global make_python_arg PYTHON=%{__python3} +%else +%{!?python2_sitelib:%global python2_sitelib %{python_sitelib}} +%global make_python_arg PYTHON=%{__python2} +%if 0%{?rhel} && 0%{?rhel} < 8 +%global _py python +%else +%global _py python2 +%endif +%endif + +#%%global prerelease rc +#%%global prereleasenum 1 + +%global prerel1 %{?prerelease:.%{prerelease}%{prereleasenum}} +%global prerel2 %{?prerelease:-%{prerelease}.%{prereleasenum}} + +Summary: A dynamic adaptive system tuning daemon +Name: tuned +Version: 2.13.0 +Release: 6%{?prerel1}%{?dist} +License: GPLv2+ +Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz +# RHEL-8 specific recommend.conf: +Source1: recommend.conf +URL: http://www.tuned-project.org/ +BuildArch: noarch +BuildRequires: systemd, desktop-file-utils +Requires(post): systemd, virt-what +Requires(preun): systemd +Requires(postun): systemd +BuildRequires: %{_py}, %{_py}-devel +# BuildRequires for 'make test' +BuildRequires: %{_py}-unittest2, %{_py}-configobj, %{_py}-mock +BuildRequires: %{_py}-decorator, %{_py}-pyudev +Requires: %{_py}-decorator, %{_py}-pyudev, %{_py}-configobj +Requires: %{_py}-schedutils, %{_py}-linux-procfs, %{_py}-perf +# requires for packages with inconsistent python2/3 names +%if %{with python3} +# BuildRequires for 'make test' +BuildRequires: python3-dbus, python3-gobject-base +Requires: python3-dbus, python3-gobject-base +%if 0%{?fedora} > 22 || 0%{?rhel} > 7 +Recommends: python3-dmidecode +%endif +%else +# BuildRequires for 'make test' +BuildRequires: dbus-python, pygobject3-base +Requires: dbus-python, pygobject3-base +%if 0%{?fedora} > 22 || 0%{?rhel} > 7 +Recommends: python-dmidecode +%endif +%endif +Requires: virt-what, ethtool, gawk, hdparm +Requires: util-linux, dbus, polkit +%if 0%{?fedora} > 22 || 0%{?rhel} > 7 +Recommends: kernel-tools +%endif +%if 0%{?rhel} > 7 +Requires: python3-syspurpose +%endif +Patch0: tuned-2.13.0-define-variables-before-use.patch +Patch1: tuned-2.13.0-use-ncat.patch +Patch2: tuned-2.13.0-add-accelerator-performance-profile.patch +Patch3: tuned-2.13.0-rename-sst-to-intel-sst.patch +Patch4: tuned-2.13.0-realtime-cond-support-for-managed_irq.patch + +%description +The tuned package contains a daemon that tunes system settings dynamically. +It does so by monitoring the usage of several system components periodically. +Based on that information components will then be put into lower or higher +power saving modes to adapt to the current usage. Currently only ethernet +network and ATA harddisk devices are implemented. + +%if 0%{?rhel} <= 7 && 0%{!?fedora:1} +# RHEL <= 7 +%global docdir %{_docdir}/%{name}-%{version} +%else +# RHEL > 7 || fedora +%global docdir %{_docdir}/%{name} +%endif + +%package gtk +Summary: GTK GUI for tuned +Requires: %{name} = %{version}-%{release} +Requires: powertop, polkit +# requires for packages with inconsistent python2/3 names +%if %{with python3} +Requires: python3-gobject-base +%else +Requires: pygobject3-base +%endif + +%description gtk +GTK GUI that can control tuned and provides simple profile editor. + +%package utils +Requires: %{name} = %{version}-%{release} +Requires: powertop +Summary: Various tuned utilities + +%description utils +This package contains utilities that can help you to fine tune and +debug your system and manage tuned profiles. + +%package utils-systemtap +Summary: Disk and net statistic monitoring systemtap scripts +Requires: %{name} = %{version}-%{release} +Requires: systemtap + +%description utils-systemtap +This package contains several systemtap scripts to allow detailed +manual monitoring of the system. Instead of the typical IO/sec it collects +minimal, maximal and average time between operations to be able to +identify applications that behave power inefficient (many small operations +instead of fewer large ones). + +%package profiles-sap +Summary: Additional tuned profile(s) targeted to SAP NetWeaver loads +Requires: %{name} = %{version} + +%description profiles-sap +Additional tuned profile(s) targeted to SAP NetWeaver loads. + +%package profiles-mssql +Summary: Additional tuned profile(s) for MS SQL Server +Requires: %{name} = %{version} + +%description profiles-mssql +Additional tuned profile(s) for MS SQL Server. + +%package profiles-oracle +Summary: Additional tuned profile(s) targeted to Oracle loads +Requires: %{name} = %{version} + +%description profiles-oracle +Additional tuned profile(s) targeted to Oracle loads. + +%package profiles-sap-hana +Summary: Additional tuned profile(s) targeted to SAP HANA loads +Requires: %{name} = %{version} + +%description profiles-sap-hana +Additional tuned profile(s) targeted to SAP HANA loads. + +%package profiles-atomic +Summary: Additional tuned profile(s) targeted to Atomic +Requires: %{name} = %{version} + +%description profiles-atomic +Additional tuned profile(s) targeted to Atomic host and guest. + +%package profiles-realtime +Summary: Additional tuned profile(s) targeted to realtime +Requires: %{name} = %{version} +Requires: tuna + +%description profiles-realtime +Additional tuned profile(s) targeted to realtime. + +%package profiles-nfv-guest +Summary: Additional tuned profile(s) targeted to Network Function Virtualization (NFV) guest +Requires: %{name} = %{version} +Requires: %{name}-profiles-realtime = %{version} +Requires: tuna + +%description profiles-nfv-guest +Additional tuned profile(s) targeted to Network Function Virtualization (NFV) guest. + +%package profiles-nfv-host +Summary: Additional tuned profile(s) targeted to Network Function Virtualization (NFV) host +Requires: %{name} = %{version} +Requires: %{name}-profiles-realtime = %{version} +Requires: tuna +Requires: nmap-ncat +%if 0%{?rhel} == 7 +Requires: qemu-kvm-tools-rhev +%else +Recommends: tuned-profiles-nfv-host-bin +%endif + +%description profiles-nfv-host +Additional tuned profile(s) targeted to Network Function Virtualization (NFV) host. + +# this is kept for backward compatibility, it should be dropped for RHEL-8 +%package profiles-nfv +Summary: Additional tuned profile(s) targeted to Network Function Virtualization (NFV) +Requires: %{name} = %{version} +Requires: %{name}-profiles-nfv-guest = %{version} +Requires: %{name}-profiles-nfv-host = %{version} + +%description profiles-nfv +Additional tuned profile(s) targeted to Network Function Virtualization (NFV). + +%package profiles-cpu-partitioning +Summary: Additional tuned profile(s) optimized for CPU partitioning +Requires: %{name} = %{version} + +%description profiles-cpu-partitioning +Additional tuned profile(s) optimized for CPU partitioning. + +%package profiles-compat +Summary: Additional tuned profiles mainly for backward compatibility with tuned 1.0 +Requires: %{name} = %{version} + +%description profiles-compat +Additional tuned profiles mainly for backward compatibility with tuned 1.0. +It can be also used to fine tune your system for specific scenarios. + +%prep +%setup -q -n %{name}-%{version}%{?prerel2} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 + +# Replace the upstream recommend.conf with a RHEL-8-specific one +rm -f recommend.conf +cp -p %{SOURCE1} recommend.conf + +%build + +%install +make install DESTDIR=%{buildroot} DOCDIR=%{docdir} %{make_python_arg} +%if 0%{?rhel} +sed -i 's/\(dynamic_tuning[ \t]*=[ \t]*\).*/\10/' %{buildroot}%{_sysconfdir}/tuned/tuned-main.conf +%endif + +# conditional support for grub2, grub2 is not available on all architectures +# and tuned is noarch package, thus the following hack is needed +mkdir -p %{buildroot}%{_datadir}/tuned/grub2 +mv %{buildroot}%{_sysconfdir}/grub.d/00_tuned %{buildroot}%{_datadir}/tuned/grub2/00_tuned +rmdir %{buildroot}%{_sysconfdir}/grub.d + +# ghost for persistent storage +mkdir -p %{buildroot}%{_var}/lib/tuned + +# ghost for NFV +mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d +touch %{buildroot}%{_sysconfdir}/modprobe.d/kvm.rt.tuned.conf + +# validate desktop file +desktop-file-validate %{buildroot}%{_datadir}/applications/tuned-gui.desktop + +%check +make test + +%post +%systemd_post tuned.service + +# convert active_profile from full path to name (if needed) +sed -i 's|.*/\([^/]\+\)/[^\.]\+\.conf|\1|' /etc/tuned/active_profile + +# convert GRUB_CMDLINE_LINUX to GRUB_CMDLINE_LINUX_DEFAULT +if [ -r "%{_sysconfdir}/default/grub" ]; then + sed -i 's/GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX \\$tuned_params"/GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT \\$tuned_params"/' \ + %{_sysconfdir}/default/grub +fi + + +%preun +%systemd_preun tuned.service +if [ "$1" == 0 ]; then +# clear persistent storage + rm -f %{_var}/lib/tuned/* +# clear temporal storage + rm -f /run/tuned/* +fi + + +%postun +%systemd_postun_with_restart tuned.service + +# conditional support for grub2, grub2 is not available on all architectures +# and tuned is noarch package, thus the following hack is needed +if [ "$1" == 0 ]; then + rm -f %{_sysconfdir}/grub.d/00_tuned || : +# unpatch /etc/default/grub + if [ -r "%{_sysconfdir}/default/grub" ]; then + sed -i '/GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT:+$GRUB_CMDLINE_LINUX_DEFAULT }\\$tuned_params"/d' %{_sysconfdir}/default/grub + fi + +# cleanup for Boot loader specification (BLS) + +# clear grubenv variables + grub2-editenv - unset tuned_params tuned_initrd &>/dev/null || : +# unpatch BLS entries + MACHINE_ID=`cat /etc/machine-id 2>/dev/null` + if [ "$MACHINE_ID" ] + then + for f in /boot/loader/entries/$MACHINE_ID-*.conf + do + if [ -f "$f" -a "${f: -12}" != "-rescue.conf" ] + then + sed -i '/^\s*options\s\+.*\$tuned_params/ s/\s\+\$tuned_params\b//g' "$f" &>/dev/null || : + sed -i '/^\s*initrd\s\+.*\$tuned_initrd/ s/\s\+\$tuned_initrd\b//g' "$f" &>/dev/null || : + fi + done + fi +fi + + +%triggerun -- tuned < 2.0-0 +# remove ktune from old tuned, now part of tuned +/usr/sbin/service ktune stop &>/dev/null || : +/usr/sbin/chkconfig --del ktune &>/dev/null || : + + +%posttrans +# conditional support for grub2, grub2 is not available on all architectures +# and tuned is noarch package, thus the following hack is needed +if [ -d %{_sysconfdir}/grub.d ]; then + cp -a %{_datadir}/tuned/grub2/00_tuned %{_sysconfdir}/grub.d/00_tuned + selinuxenabled &>/dev/null && \ + restorecon %{_sysconfdir}/grub.d/00_tuned &>/dev/null || : +fi + + +%files +%exclude %{docdir}/README.utils +%exclude %{docdir}/README.scomes +%exclude %{docdir}/README.NFV +%doc %{docdir} +%{_datadir}/bash-completion/completions/tuned-adm +%if %{with python3} +%exclude %{python3_sitelib}/tuned/gtk +%{python3_sitelib}/tuned +%else +%exclude %{python2_sitelib}/tuned/gtk +%{python2_sitelib}/tuned +%endif +%{_sbindir}/tuned +%{_sbindir}/tuned-adm +%exclude %{_sysconfdir}/tuned/realtime-variables.conf +%exclude %{_sysconfdir}/tuned/realtime-virtual-guest-variables.conf +%exclude %{_sysconfdir}/tuned/realtime-virtual-host-variables.conf +%exclude %{_sysconfdir}/tuned/cpu-partitioning-variables.conf +%exclude %{_prefix}/lib/tuned/default +%exclude %{_prefix}/lib/tuned/desktop-powersave +%exclude %{_prefix}/lib/tuned/laptop-ac-powersave +%exclude %{_prefix}/lib/tuned/server-powersave +%exclude %{_prefix}/lib/tuned/laptop-battery-powersave +%exclude %{_prefix}/lib/tuned/enterprise-storage +%exclude %{_prefix}/lib/tuned/spindown-disk +%exclude %{_prefix}/lib/tuned/sap-netweaver +%exclude %{_prefix}/lib/tuned/sap-hana +%exclude %{_prefix}/lib/tuned/mssql +%exclude %{_prefix}/lib/tuned/oracle +%exclude %{_prefix}/lib/tuned/atomic-host +%exclude %{_prefix}/lib/tuned/atomic-guest +%exclude %{_prefix}/lib/tuned/realtime +%exclude %{_prefix}/lib/tuned/realtime-virtual-guest +%exclude %{_prefix}/lib/tuned/realtime-virtual-host +%exclude %{_prefix}/lib/tuned/cpu-partitioning +%{_prefix}/lib/tuned +%dir %{_sysconfdir}/tuned +%dir %{_sysconfdir}/tuned/recommend.d +%dir %{_libexecdir}/tuned +%{_libexecdir}/tuned/defirqaffinity* +%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/active_profile +%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/profile_mode +%config(noreplace) %{_sysconfdir}/tuned/tuned-main.conf +%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/bootcmdline +%{_sysconfdir}/dbus-1/system.d/com.redhat.tuned.conf +%verify(not size mtime md5) %{_sysconfdir}/modprobe.d/tuned.conf +%{_tmpfilesdir}/tuned.conf +%{_unitdir}/tuned.service +%dir %{_localstatedir}/log/tuned +%dir /run/tuned +%dir %{_var}/lib/tuned +%{_mandir}/man5/tuned* +%{_mandir}/man7/tuned-profiles.7* +%{_mandir}/man8/tuned* +%dir %{_datadir}/tuned +%{_datadir}/tuned/grub2 +%{_datadir}/polkit-1/actions/com.redhat.tuned.policy +%ghost %{_sysconfdir}/modprobe.d/kvm.rt.tuned.conf +%{_prefix}/lib/kernel/install.d/92-tuned.install + +%files gtk +%{_sbindir}/tuned-gui +%if %{with python3} +%{python3_sitelib}/tuned/gtk +%else +%{python2_sitelib}/tuned/gtk +%endif +%{_datadir}/tuned/ui +%{_datadir}/icons/hicolor/scalable/apps/tuned.svg +%{_datadir}/applications/tuned-gui.desktop + +%files utils +%doc COPYING +%{_bindir}/powertop2tuned +%{_libexecdir}/tuned/pmqos-static* + +%files utils-systemtap +%doc doc/README.utils +%doc doc/README.scomes +%doc COPYING +%{_sbindir}/varnetload +%{_sbindir}/netdevstat +%{_sbindir}/diskdevstat +%{_sbindir}/scomes +%{_mandir}/man8/varnetload.* +%{_mandir}/man8/netdevstat.* +%{_mandir}/man8/diskdevstat.* +%{_mandir}/man8/scomes.* + +%files profiles-sap +%{_prefix}/lib/tuned/sap-netweaver +%{_mandir}/man7/tuned-profiles-sap.7* + +%files profiles-sap-hana +%{_prefix}/lib/tuned/sap-hana +%{_mandir}/man7/tuned-profiles-sap-hana.7* + +%files profiles-mssql +%{_prefix}/lib/tuned/mssql +%{_mandir}/man7/tuned-profiles-mssql.7* + +%files profiles-oracle +%{_prefix}/lib/tuned/oracle +%{_mandir}/man7/tuned-profiles-oracle.7* + +%files profiles-atomic +%{_prefix}/lib/tuned/atomic-host +%{_prefix}/lib/tuned/atomic-guest +%{_mandir}/man7/tuned-profiles-atomic.7* + +%files profiles-realtime +%config(noreplace) %{_sysconfdir}/tuned/realtime-variables.conf +%{_prefix}/lib/tuned/realtime +%{_mandir}/man7/tuned-profiles-realtime.7* + +%files profiles-nfv-guest +%config(noreplace) %{_sysconfdir}/tuned/realtime-virtual-guest-variables.conf +%{_prefix}/lib/tuned/realtime-virtual-guest +%{_mandir}/man7/tuned-profiles-nfv-guest.7* + +%files profiles-nfv-host +%config(noreplace) %{_sysconfdir}/tuned/realtime-virtual-host-variables.conf +%{_prefix}/lib/tuned/realtime-virtual-host +%{_mandir}/man7/tuned-profiles-nfv-host.7* + +%files profiles-nfv +%doc %{docdir}/README.NFV + +%files profiles-cpu-partitioning +%config(noreplace) %{_sysconfdir}/tuned/cpu-partitioning-variables.conf +%{_prefix}/lib/tuned/cpu-partitioning +%{_mandir}/man7/tuned-profiles-cpu-partitioning.7* + +%files profiles-compat +%{_prefix}/lib/tuned/default +%{_prefix}/lib/tuned/desktop-powersave +%{_prefix}/lib/tuned/laptop-ac-powersave +%{_prefix}/lib/tuned/server-powersave +%{_prefix}/lib/tuned/laptop-battery-powersave +%{_prefix}/lib/tuned/enterprise-storage +%{_prefix}/lib/tuned/spindown-disk +%{_mandir}/man7/tuned-profiles-compat.7* + +%changelog +* Mon Mar 23 2020 Jaroslav Škarvada - 2.13.0-6 +- realtime: added conditional support for managed_irq + Resolves: rhbz#1797025 + +* Wed Feb 12 2020 Jaroslav Škarvada - 2.13.0-5 +- profiles: renamed sst profile to intel-sst + related: rhbz#1743879 + +* Fri Feb 07 2020 Ondřej Lysoněk - 2.13.0-4 +- Add accelerator-performance profile +- Resolves: rhbz#1795604 + +* Tue Jan 14 2020 Jaroslav Škarvada - 2.13.0-3 +- tuned-profiles-nfv-host: added ncat requirement + resolves: rhbz#1779117 + +* Tue Jan 7 2020 Jaroslav Škarvada - 2.13.0-2 +- profiles: define variables before use + resolves: rhbz#1788102 + +* Wed Dec 11 2019 Jaroslav Škarvada - 2.13.0-1 +- new release + - rebased tuned to latest upstream + related: rhbz#1738250 + - sap-hana: updated tuning + resolves: rhbz#1779821 + - latency-performance: updated tuning + resolves: rhbz#1779759 + +* Sun Dec 1 2019 Jaroslav Škarvada - 2.13.0-0.1.rc1 +- new release + - rebased tuned to latest upstream + resolves: rhbz#1738250 + - cpu: fixed checking if EPB is supported + resolves: rhbz#1690929 + - scheduler: fixed IRQ SMP affinity verification to respect ignore_missing + resolves: rhbz#1729936 + - realtime: enabled ktimer_lockless_check + resolves: rhbz#1734096 + - plugins: support cpuinfo_regex and uname_regex matching + resolves: rhbz#1748965 + - sysctl: made reapply_sysctl ignore configs from /usr + resolves: rhbz#1759597 + - added support for multiple include directives + resolves: rhbz#1760390 + - realtime: added nowatchdog kernel command line option + resolves: rhbz#1767614 + +* Fri Aug 16 2019 Jaroslav Škarvada - 2.12.0-3 +- used C-states in latency specification + related: rhbz#1737628 + +* Fri Aug 16 2019 Jaroslav Škarvada - 2.12.0-2 +- plugin_cpu: latency can be now specified as C-state + resolves: rhbz#1737628 + +* Thu Jun 27 2019 Jaroslav Škarvada - 2.12.0-1 +- new release + - rebased tuned to latest upstream + related: rhbz#1685585 + +* Wed Jun 12 2019 Jaroslav Škarvada - 2.12.0-0.1.rc1 +- new release + - rebased tuned to latest upstream + resolves: rhbz#1685585 + - sap-netweaver: changed values of kernel.shmall and kernel.shmmax to RHEL-8 defaults + resolves: rhbz#1708418 + - sap-netweaver: changed value of kernel.sem to RHEL-8 default + resolves: rhbz#1701394 + - sap-hana-vmware: dropped profile + resolves: rhbz#1715541 + - s2kb function: fixed to be compatible with python3 + resolves: rhbz#1684122 + - do fallback to the powersave governor (balanced and powersave profiles) + resolves: rhbz#1679205 + - added support for negation of CPU list + resolves: rhbz#1676588 + - switched from sysctl tool to own implementation + resolves: rhbz#1666678 + - realtime-virtual-host: added tsc-deadline=on to qemu cmdline + resolves: rhbz#1554458 + - fixed handling of devices that have been removed and re-attached + resolves: rhbz#1677730 + +* Fri Feb 22 2019 Jaroslav Škarvada - 2.10.0-15 +- Fixed disk plugin to correctly match devices with python3 + Resolves: rhbz#1676513 + +* Tue Jan 8 2019 Jaroslav Škarvada - 2.10.0-14 +- Updated mssql tuning + Resolves: rhbz#1660178 + +* Fri Dec 14 2018 Ondřej Lysoněk - 2.10.0-13 +- Fix excessive CPU usage in the scheduler plugin +- Resolves: rhbz#1659140 + +* Mon Dec 10 2018 Jaroslav Škarvada - 2.10.0-12 +- Added workaround for s390x zipl not supporting multiple initrds + Related: rhbz#1576435 + +* Sun Dec 9 2018 Jaroslav Škarvada - 2.10.0-11 +- Added support for BLS + Resolves: rhbz#1576435 + +* Thu Dec 6 2018 Jaroslav Škarvada - 2.10.0-10 +- Reworked setup_kvm_mod_low_latency to count with kernel changes + Resolves: rhbz#1653819 + +* Tue Nov 27 2018 Jaroslav Škarvada - 2.10.0-9 +- realtime-virtual-guest/host: start/stop rt-entsk daemon on + initialization/shutdown + resolves: rhbz#1619822 + +* Tue Nov 27 2018 Jaroslav Škarvada - 2.10.0-8 +- Disable ksm once, re-enable it on full rollback + Resolves: rhbz#1652076 + +* Wed Oct 10 2018 Ondřej Lysoněk - 2.10.0-7 +- Make python3-dmidecode a weak dependency as it's x86_64 only +- Resolves: rhbz#1565598 + +* Tue Oct 09 2018 Ondřej Lysoněk - 2.10.0-6 +- Fix rules for profile recommendation +- Resolves: rhbz#1565598 + +* Wed Aug 8 2018 Jaroslav Škarvada - 2.10.0-5 +- use online CPUs for cpusets calculations instead of present CPUs + resolves: rhbz#1613832 + +* Wed Jul 11 2018 Ondřej Lysoněk - 2.10.0-4 +- Fix a traceback in tuned-gui + +* Tue Jul 10 2018 Ondřej Lysoněk - 2.10.0-3 +- tuned-adm: Fix a traceback when run without action specified + +* Mon Jul 9 2018 Jaroslav Škarvada - 2.10.0-2 +- used python intepreter path from the rpm macro + +* Wed Jul 4 2018 Jaroslav Škarvada - 2.10.0-1 +- new release + - rebased tuned to latest upstream + related: rhbz#1546598 + - IRQ affinity handled by scheduler plugin + resolves: rhbz#1590937 + +* Mon Jun 25 2018 Jaroslav Škarvada - 2.10.0-0.1.rc1 +- new release + - rebased tuned to latest upstream + resolves: rhbz#1546598 + - script: show stderr output in the log + - realtime-virtual-host: script.sh: add error checking + - man: improved tuned-profiles-cpu-partitioning.7 + - bootloader: check if grub2_cfg_file_name is None in _remove_grub2_tuning() + - plugin_scheduler: whitelist/blacklist processed also for thread names + - bootloader: patch all GRUB2 config files + - profiles: added mssql profile + - tuned-adm: print log excerpt when changing profile + - cpu-partitioning: use no_balance_cores instead of no_rebalance_cores + - sysctl: support assignment modifiers as other plugins do + - oracle: fixed ip_local_port_range parity warning + resolves: rhbz#1527219 + - Fix verifying cpumask on systems with more than 32 cores + resolves: rhbz#1528368 + - oracle: updated the profile to be in sync with KCS 39188 + resolves: rhbz#1447323 + +* Fri Jun 8 2018 Jaroslav Škarvada - 2.9.0-10.20180430git5d0a9d91 +- Fixed python3-gobject-base requirement + +* Thu May 17 2018 Jaroslav Škarvada - 2.9.0-9.20180430git5d0a9d91 +- Bumped release to fix conflict caused by automerge + +* Mon Apr 30 2018 Jaroslav Škarvada - 2.9.0-1.20180430git5d0a9d91 +- New version +- Dropped plugin-disk-traceback-fix patch (upstreamed) + +* Fri Mar 23 2018 Jaroslav Škarvada - 2.8.0-6 +- Dropped qemu-kvm-tools-rhev requirement, now satisfied by + tuned-profiles-nfv-host-bin + Related: rhbz#1504681 + +* Mon Aug 21 2017 Jaroslav Škarvada - 2.8.0-5 +- kernel-tools made weak dependency + +* Thu Jul 27 2017 Fedora Release Engineering - 2.8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 24 2017 Jaroslav Škarvada - 2.8.0-3 +- fixed traceback in disk plugin if dynamic tuning is enabled + +* Fri Apr 28 2017 Jaroslav Škarvada - 2.8.0-2 +- qemu-kvm-tools-rhev made weak dependency + +* Fri Apr 7 2017 Jaroslav Škarvada - 2.8.0-1 +- new release + - rebase tuned to latest upstream + resolves: rhbz#1388454 + - cpu-partitioning: enabled timer migration + resolves: rhbz#1408308 + - cpu-partitioning: disabled kvmclock sync and ple + resolves: rhbz#1395855 + - spec: muted error if there is no selinux support + resolves: rhbz#1404214 + - units: implemented instance priority + resolves: rhbz#1246172 + - bootloader: added support for initrd overlays + resolves: rhbz#1414098 + - cpu-partitioning: set CPUAffinity early in initrd image + resolves: rhbz#1394965 + - cpu-partitioning: set workqueue affinity early + resolves: rhbz#1395899 + - scsi_host: fixed probing of ALPM, missing ALPM logged as info + resolves: rhbz#1416712 + - added new profile cpu-partitioning + resolves: rhbz#1359956 + - bootloader: improved inheritance + resolves: rhbz#1274464 + - units: mplemented udev-based regexp device matching + resolves: rhbz#1251240 + - units: introduced pre_script, post_script + resolves: rhbz#1246176 + - realtime-virtual-host: accommodate new ktimersoftd thread + resolves: rhbz#1332563 + - defirqaffinity: fixed traceback due to syntax error + resolves: rhbz#1369791 + - variables: support inheritance of variables + resolves: rhbz#1433496 + - scheduler: added support for cores isolation + resolves: rhbz#1403309 + - tuned-profiles-nfv splitted to host/guest and dropped unneeded dependency + resolves: rhbz#1413111 + - desktop: fixed typo in profile summary + resolves: rhbz#1421238 + - with systemd don't do full rollback on shutdown / reboot + resolves: rhbz#1421286 + - builtin functions: added virt_check function and support to include + resolves: rhbz#1426654 + - cpulist_present: explicitly sorted present CPUs + resolves: rhbz#1432240 + - plugin_scheduler: fixed initialization + resolves: rhbz#1433496 + - log errors when applying a profile fails + resolves: rhbz#1434360 + - systemd: added support for older systemd CPUAffinity syntax + resolves: rhbz#1441791 + - scheduler: added workarounds for low level exceptions from + python-linux-procfs + resolves: rhbz#1441792 + - bootloader: workaround for adding tuned_initrd to new kernels on restart + resolves: rhbz#1441797 + +* Sat Feb 11 2017 Fedora Release Engineering - 2.7.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Oct 17 2016 Jaroslav Škarvada - 2.7.1-3 +- Fixed traceback when non-existent profile is queried through + tuned-adm profile_info + Resolves: rhbz#1385145 + +* Wed Sep 21 2016 Jaroslav Škarvada - 2.7.1-2 +- Fixed pkexec + Resolves: rhbz#1377896 + +* Tue Aug 2 2016 Jaroslav Škarvada - 2.7.1-1 +- New release + Resolves: rhbz#1362481 +- Dropped tuned-gui-traceback-fix and tuned-adm-list-no-dbus-traceback-fix + patches (both upstreamed) + +* Thu Jul 21 2016 Jaroslav Škarvada - 2.7.0-2 +- Fixed tuned-gui traceback (by tuned-gui-traceback-fix patch) + Resolves: rhbz#1358846 +- Fixed 'tuned-adm list' traceback if daemon is not running + (by tuned-adm-list-no-dbus-traceback-fix patch) + +* Tue Jul 19 2016 Jaroslav Škarvada - 2.7.0-1 +- new-release + - gui: fixed save profile + resolves: rhbz#1242491 + - tuned-adm: added --ignore-missing parameter + resolves: rhbz#1243807 + - plugin_vm: added transparent_hugepage alias + resolves: rhbz#1249610 + - plugins: added modules plugin + resolves: rhbz#1249618 + - plugin_cpu: do not show error if cpupower or x86_energy_perf_policy are + missing + resolves: rhbz#1254417 + - tuned-adm: fixed restart attempt if tuned is not running + resolves: rhbz#1258755 + - nfv: avoided race condition by using synchronous mode + resolves: rhbz#1259039 + - realtime: added check for isolcpus sanity + resolves: rhbz#1264128 + - pm_qos: fixed exception if PM_QoS is not available + resolves: rhbz#1296137 + - plugin_sysctl: reapply system sysctl after Tuned sysctl are applied + resolves: rhbz#1302953 + - atomic: increase number of inotify watches + resolves: rhbz#1322001 + - realtime-virtual-host/guest: added rcu_nocbs kernel boot parameter + resolves: rhbz#1334479 + - realtime: fixed kernel.sched_rt_runtime_us to be -1 + resolves: rhbz#1346715 + - tuned-adm: fixed detection of no_daemon mode + resolves: rhbz#1351536 + - plugin_base: correctly strip assignment modifiers even if not used + resolves: rhbz#1353142 + - plugin_disk: try to workaround embedded '/' in device names + related: rhbz#1353142 + - sap-hana: explicitly setting kernel.numa_balancing = 0 for better performance + resolves: rhbz#1355768 + - switched to polkit authorization + resolves: rhbz#1095142 + - plugins: added scsi_host plugin + resolves: rhbz#1246992 + - spec: fixed conditional support for grub2 to work with selinux + resolves: rhbz#1351937 + - gui: added tuned icon and desktop file + resolves: rhbz#1356369 + +* Tue Jul 19 2016 Fedora Release Engineering - 2.6.0-3 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Fri Feb 05 2016 Fedora Release Engineering - 2.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 5 2016 Jaroslav Škarvada - 2.6.0-1 +- new-release + - plugin_cpu: do not show error if cpupower or x86_energy_perf_policy are missing + - plugin_sysctl: fixed quoting of sysctl values + resolves: rhbz#1254538 + - tuned-adm: added log file location hint to verify command output + - libexec: fixed listdir and isdir in defirqaffinity.py + resolves: rhbz#1252160 + - plugin_cpu: save and restore only intel pstate attributes that were changed + resolves: rhbz#1252156 + - functions: fixed sysfs save to work with options + resolves: rhbz#1251507 + - plugins: added scsi_host plugin + - tuned-adm: fixed restart attempt if tuned is not running + - spec: fixed post scriptlet to work without grub + resolves: rhbz#1265654 + - tuned-profiles-nfv: fix find-lapictscdeadline-optimal.sh for CPUS where ns > 6500 + resolves: rhbz#1267284 + - functions: fixed restore_logs_syncing to preserve SELinux context on rsyslog.conf + resolves: rhbz#1268901 + - realtime: set unboud workqueues cpumask + resolves: rhbz#1259043 + - spec: correctly remove tuned footprint from /etc/default/grub + resolves: rhbz#1268845 + - gui: fixed creation of new profile + resolves: rhbz#1274609 + - profiles: removed nohz_full from the realtime profile + resolves: rhbz#1274486 + - profiles: Added nohz_full and nohz=on to realtime guest/host profiles + resolves: rhbz#1274445 + - profiles: fixed lapic_timer_adv_ns cache + resolves: rhbz#1259452 + - plugin_sysctl: pass verification even if the option doesn't exist + related: rhbz#1252153 + - added support for 'summary' and 'description' of profiles, + extended D-Bus API for Cockpit + related: rhbz#1228356 + +* Wed Aug 12 2015 Jaroslav Škarvada - 2.5.1-2 +- packaging fixes for rpm-4.12.90 +- dropped qemu-kvm-tools-rhev requirement (not in Fedora) + +* Tue Aug 4 2015 Jaroslav Škarvada - 2.5.1-1 +- new-release + related: rhbz#1155052 + - plugin_scheduler: work with nohz_full + resolves: rhbz#1247184 + - fixed realtime-virtual-guest/host profiles packaged twice + resolves: rhbz#1249028 + - fixed requirements of realtime and nfv profiles + - fixed tuned-gui not starting + - various other minor fixes + +* Sun Jul 5 2015 Jaroslav Škarvada - 2.5.0-1 +- new-release + resolves: rhbz#1155052 + - add support for ethtool -C to tuned network plugin + resolves: rhbz#1152539 + - add support for ethtool -K to tuned network plugin + resolves: rhbz#1152541 + - add support for calculation of values for the kernel command line + resolves: rhbz#1191595 + - no error output if there is no hdparm installed + resolves: rhbz#1191775 + - do not run hdparm on hotplug events if there is no hdparm tuning + resolves: rhbz#1193682 + - add oracle tuned profile + resolves: rhbz#1196298 + - fix bash completions for tuned-adm + resolves: rhbz#1207668 + - add glob support to tuned sysfs plugin + resolves: rhbz#1212831 + - add tuned-adm verify subcommand + resolves: rhbz#1212836 + - do not install tuned kernel command line to rescue kernels + resolves: rhbz#1223864 + - add variables support + resolves: rhbz#1225124 + - add built-in support for unit conversion into tuned + resolves: rhbz#1225135 + - fix vm.max_map_count setting in sap-netweaver profile + resolves: rhbz#1228562 + - add tuned profile for RHEL-RT + resolves: rhbz#1228801 + - plugin_scheduler: added support for runtime tuning of processes + resolves: rhbz#1148546 + - add support for changing elevators on xvd* devices (Amazon EC2) + resolves: rhbz#1170152 + - add workaround to be run after systemd-sysctl + resolves: rhbz#1189263 + - do not change settings of transparent hugepages if set in kernel cmdline + resolves: rhbz#1189868 + - add tuned profiles for RHEL-NFV + resolves: rhbz#1228803 + - plugin_bootloader: apply $tuned_params to existing kernels + resolves: rhbz#1233004 + +* Fri Jun 19 2015 Fedora Release Engineering - 2.4.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Apr 30 2015 Jaroslav Škarvada - 2.4.1-5 +- fixed configobj class imports + resolves: rhbz#1217327 + +* Thu Apr 2 2015 Jaroslav Škarvada - 2.4.1-4 +- fixed bash completion + resolves: rhbz#1207668 + +* Fri Jan 9 2015 Jaroslav Škarvada - 2.4.1-3 +- fixed KeyError exception in powertop2tuned + +* Mon Jan 5 2015 Jaroslav Škarvada - 2.4.1-2 +- remove 00_tuned grub2 template upon tuned uninstall + resolves: rhbz#1178310 + +* Thu Oct 16 2014 Jaroslav Škarvada - 2.4.1-1 +- new-release + - fixed return code of tuned grub template + resolves: rhbz#1151768 + - plugin_bootloader: fix for multiple parameters on command line + related: rhbz#1148711 + - tuned-adm: fixed traceback on "tuned-adm list" + resolves: rhbz#1149162 + - plugin_bootloader is automatically disabled if grub2 is not found + resolves: rhbz#1150047 + - plugin_disk: set_spindown and set_APM made independent + resolves: rhbz#976725 + +* Wed Oct 1 2014 Jaroslav Škarvada - 2.4.0-1 +- new-release + resolves: rhbz#1093883 + - fixed traceback if profile cannot be loaded + related: rhbz#953128 + - powertop2tuned: fixed traceback if rewriting file instead of dir + resolves: rhbz#963441 + - throughput-performance: altered dirty ratios for better performance + resolves: rhbz#1043533 + - latency-performance: leaving THP on its default + resolves: rhbz#1064510 + - used throughput-performance profile on server by default + resolves: rhbz#1063481 + - network-latency: added new profile + resolves: rhbz#1052418 + - network-throughput: added new profile + resolves: rhbz#1052421 + - recommend.conf: fixed config file + resolves: rhbz#1069123 + - systemd: added cpupower.service conflict + resolves: rhbz#1073392 + - balanced: used medium_power ALPM policy + - added support for >, < assignment modifiers in tuned.conf + - handled root block devices + - balanced: used conservative CPU governor + resolves: rhbz#1124125 + - plugins: added selinux plugin + - plugin_net: added nf_conntrack_hashsize parameter + - profiles: added atomic-host profile + resolves: rhbz#1091977 + - profiles: added atomic-guest profile + resolves: rhbz#1091979 + - moved profile autodetection from post install script to tuned daemon + resolves: rhbz#1144067 + - profiles: included sap-hana and sap-hana-vmware profiles + - man: structured profiles manual pages according to sub-packages + - added missing hdparm dependency + resolves: rhbz#1144858 + - improved error handling of switch_profile + resolves: rhbz#1068699 + - tuned-adm: active: detect whether tuned deamon is running + related: rhbz#1068699 + - removed active_profile from RPM verification + resolves: rhbz#1104126 + - plugin_disk: readahead value can be now specified in sectors + resolves: rhbz#1127127 + - plugins: added bootloader plugin + resolves: rhbz#1044111 + - plugin_disk: added error counter to hdparm calls + - plugins: added scheduler plugin + resolves: rhbz#1100826 + - added tuned-gui + +* Thu Mar 6 2014 Jaroslav Škarvada - 2.3.0-3 +- added kernel-tools requirement + resolves: rhbz#1072981 + +* Fri Nov 8 2013 Jaroslav Škarvada - 2.3.0-2 +- fixed race condition in the start/stop code + resolves: rhbz#1028119 +- improved tuned responsiveness + resolves: rhbz#1028122 + +* Wed Nov 6 2013 Jaroslav Škarvada - 2.3.0-1 +- new-release + resolves: rhbz#1020743 + - audio plugin: fixed audio settings in standard profiles + resolves: rhbz#1019805 + - video plugin: fixed tunings + - daemon: fixed crash if preset profile is not available + resolves: rhbz#953128 + - man: various updates and corrections + - functions: fixed usb and bluetooth handling + - tuned: switched to lightweighted pygobject3-base + - daemon: added global config for dynamic_tuning + resolves: rhbz#1006427 + - utils: added pmqos-static script for debug purposes + resolves: rhbz#1015676 + - throughput-performance: various fixes + resolves: rhbz#987570 + - tuned: added global option update_interval + - plugin_cpu: added support for x86_energy_perf_policy + resolves: rhbz#1015675 + - dbus: fixed KeyboardInterrupt handling + - plugin_cpu: added support for intel_pstate + resolves: rhbz#996722 + - profiles: various fixes + resolves: rhbz#922068 + - profiles: added desktop profile + resolves: rhbz#996723 + - tuned-adm: implemented non DBus fallback control + - profiles: added sap profile + - tuned: lowered CPU usage due to python bug + resolves: rhbz#917587 + +* Tue Mar 19 2013 Jaroslav Škarvada - 2.2.2-1 +- new-release: + - cpu plugin: fixed cpupower workaround + - cpu plugin: fixed crash if cpupower is installed + +* Fri Mar 1 2013 Jaroslav Škarvada - 2.2.1-1 +- new release: + - audio plugin: fixed error handling in _get_timeout + - removed cpupower dependency, added sysfs fallback + - powertop2tuned: fixed parser crash on binary garbage + resolves: rhbz#914933 + - cpu plugin: dropped multicore_powersave as kernel upstream already did + - plugins: options manipulated by dynamic tuning are now correctly saved and restored + - powertop2tuned: added alias -e for --enable option + - powertop2tuned: new option -m, --merge-profile to select profile to merge + - prefer transparent_hugepage over redhat_transparent_hugepage + - recommend: use recommend.conf not autodetect.conf + - tuned.service: switched to dbus type service + resolves: rhbz#911445 + - tuned: new option --pid, -P to write PID file + - tuned, tuned-adm: added new option --version, -v to show version + - disk plugin: use APM value 254 for cleanup / APM disable instead of 255 + resolves: rhbz#905195 + - tuned: new option --log, -l to select log file + - powertop2tuned: avoid circular deps in include (one level check only) + - powertop2tuned: do not crash if powertop is not installed + - net plugin: added support for wake_on_lan static tuning + resolves: rhbz#885504 + - loader: fixed error handling + - spec: used systemd-rpm macros + resolves: rhbz#850347 + +* Mon Jan 28 2013 Jan Vcelak 2.2.0-1 +- new release: + - remove nobarrier from virtual-guest (data loss prevention) + - devices enumeration via udev, instead of manual retrieval + - support for dynamically inserted devices (currently disk plugin) + - dropped rfkill plugins (bluetooth and wifi), the code didn't work + +* Wed Jan 2 2013 Jaroslav Škarvada - 2.1.2-1 +- new release: + - systemtap {disk,net}devstat: fix typo in usage + - switched to configobj parser + - latency-performance: disabled THP + - fixed fd leaks on subprocesses + +* Thu Dec 06 2012 Jan Vcelak 2.1.1-1 +- fix: powertop2tuned execution +- fix: ownership of /etc/tuned + +* Mon Dec 03 2012 Jan Vcelak 2.1.0-1 +- new release: + - daemon: allow running without selected profile + - daemon: fix profile merging, allow only safe characters in profile names + - daemon: implement missing methods in DBus interface + - daemon: implement profile recommendation + - daemon: improve daemonization, PID file handling + - daemon: improved device matching in profiles, negation possible + - daemon: various internal improvements + - executables: check for EUID instead of UID + - executables: run python with -Es to increase security + - plugins: cpu - fix cpupower execution + - plugins: disk - fix option setting + - plugins: mounts - new, currently supports only barriers control + - plugins: sysctl - fix a bug preventing settings application + - powertop2tuned: speedup, fix crashes with non-C locales + - powertop2tuned: support for powertop 2.2 output + - profiles: progress on replacing scripts with plugins + - tuned-adm: bash completion - suggest profiles from all supported locations + - tuned-adm: complete switch to D-bus + - tuned-adm: full control to users with physical access + +* Mon Oct 08 2012 Jaroslav Škarvada - 2.0.2-1 +- New version +- Systemtap scripts moved to utils-systemtap subpackage + +* Sun Jul 22 2012 Fedora Release Engineering - 2.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jun 12 2012 Jaroslav Škarvada - 2.0.1-3 +- another powertop-2.0 compatibility fix + Resolves: rhbz#830415 + +* Tue Jun 12 2012 Jan Kaluza - 2.0.1-2 +- fixed powertop2tuned compatibility with powertop-2.0 + +* Tue Apr 03 2012 Jaroslav Škarvada - 2.0.1-1 +- new version + +* Fri Mar 30 2012 Jan Vcelak 2.0-1 +- first stable release