diff --git a/sources b/sources index 070fcfd..cddfc58 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (tuned-2.14.0.tar.gz) = b44391962d820f74f42926bdcded51ef539ec6b8086807cb8454aea98755d3f61343a96c52d665079bb0aa3916aeba3eb1bbdc5d95f64ece08aca3114a954683 +SHA512 (tuned-2.15.0-rc.1.tar.gz) = 93d4bddf289734bf96cadda0ae402ba29774ad968bce379f4ac4dc28dbfd75f9ea54ef24988369c9558cbe48c7b378e751ae39ddd9cf483dd60873c62d4a967c diff --git a/tuned-2.14.0-amd-performance-regression-fix.patch b/tuned-2.14.0-amd-performance-regression-fix.patch deleted file mode 100644 index e51870e..0000000 --- a/tuned-2.14.0-amd-performance-regression-fix.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f511ad5d48f4f2ae3b2616463bc3a17bae5bdb90 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= -Date: Tue, 30 Jun 2020 15:39:18 +0200 -Subject: [PATCH] throughput-performance: fix performance regression on AMD -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It turned out that disablement of the numa_balancing could result in -upto 20% performance drop on some loads. - -Related: rhbz#1746957 - -Signed-off-by: Jaroslav Škarvada ---- - profiles/throughput-performance/tuned.conf | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/profiles/throughput-performance/tuned.conf b/profiles/throughput-performance/tuned.conf -index f1a6f1a..3cc6fd1 100644 ---- a/profiles/throughput-performance/tuned.conf -+++ b/profiles/throughput-performance/tuned.conf -@@ -85,4 +85,3 @@ type=sysctl - uname_regex=x86_64 - cpuinfo_regex=${amd_cpuinfo_regex} - kernel.sched_migration_cost_ns=5000000 --kernel.numa_balancing=0 --- -2.25.4 - diff --git a/tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch b/tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch deleted file mode 100644 index d839c51..0000000 --- a/tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch +++ /dev/null @@ -1,55 +0,0 @@ -From daf02c380515b42db06d9f743070af5ab248a414 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= -Date: Fri, 3 Jul 2020 12:17:03 +0200 -Subject: [PATCH] scheduler: fix isolated_cores to work with cgroups -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It seems cpuset.cpus needs to be initialized before writing to tasks. - -Related: rhbz#1784648 - -Signed-off-by: Jaroslav Škarvada ---- - tuned/plugins/plugin_scheduler.py | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/tuned/plugins/plugin_scheduler.py b/tuned/plugins/plugin_scheduler.py -index 745ee4a..9ad9f54 100644 ---- a/tuned/plugins/plugin_scheduler.py -+++ b/tuned/plugins/plugin_scheduler.py -@@ -106,6 +106,7 @@ class SchedulerPlugin(base.Plugin): - # calculated by isolated_cores setter - self._affinity = None - -+ self._cgroup_affinity_initialized = False - self._cgroup = None - self._cgroups = collections.OrderedDict([(self._sanitize_cgroup_path(option[7:]), self._variables.expand(affinity)) - for option, affinity in instance.options.items() if option[:7] == "cgroup." and len(option) > 7]) -@@ -478,11 +479,14 @@ class SchedulerPlugin(base.Plugin): - log.error("Unable to set affinity '%s' for cgroup '%s'" % (affinity, cgroup)) - - def _cgroup_set_affinity(self): -+ if self._cgroup_affinity_initialized: -+ return - log.debug("Setting cgroups affinities") - if self._affinity is not None and self._cgroup is not None and not self._cgroup in self._cgroups: - self._cgroup_set_affinity_one(self._cgroup, self._affinity, backup = True) - for cg in self._cgroups.items(): - self._cgroup_set_affinity_one(cg[0], cg[1], backup = True) -+ self._cgroup_affinity_initialized = True - - def _cgroup_restore_affinity(self): - log.debug("Restoring cgroups affinities") -@@ -920,6 +924,7 @@ class SchedulerPlugin(base.Plugin): - return self._verify_all_irq_affinity(affinity, ignore_missing) - elif enabling: - if self._cgroup: -+ self._cgroup_set_affinity() - ps_affinity = "cgroup.%s" % self._cgroup - else: - ps_affinity = affinity --- -2.25.4 - diff --git a/tuned.spec b/tuned.spec index 42a1ef3..83d827a 100644 --- a/tuned.spec +++ b/tuned.spec @@ -25,19 +25,18 @@ %endif %endif -#%%global prerelease rc -#%%global prereleasenum 1 +%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.14.0 -Release: 3%{?prerel1}%{?dist} +Version: 2.15.0 +Release: 0.1%{?prerel1}%{?dist} License: GPLv2+ Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz - URL: http://www.tuned-project.org/ BuildArch: noarch BuildRequires: systemd, desktop-file-utils @@ -61,26 +60,24 @@ Requires: %{_py}-schedutils, %{_py}-linux-procfs, %{_py}-perf BuildRequires: python3-dbus, python3-gobject-base Requires: python3-dbus, python3-gobject-base %if 0%{?fedora} > 22 || 0%{?rhel} > 7 -Recommends: python3-dmidecode +Recommends: 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: virt-what, ethtool, gawk Requires: util-linux, dbus, polkit %if 0%{?fedora} > 22 || 0%{?rhel} > 7 +Recommends: dmidecode +Recommends: hdparm Recommends: kernel-tools +Recommends: kmod %endif %if 0%{?rhel} > 7 Requires: python3-syspurpose %endif -Patch0: tuned-2.14.0-amd-performance-regression-fix.patch -Patch1: tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch %description The tuned package contains a daemon that tunes system settings dynamically. @@ -190,11 +187,6 @@ 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. @@ -231,6 +223,13 @@ Requires: %{name} = %{version} Additional tuned profiles mainly for backward compatibility with tuned 1.0. It can be also used to fine tune your system for specific scenarios. +%package profiles-postgresql +Summary: Additional tuned profile(s) targeted to PostgreSQL server loads +Requires: %{name} = %{version} + +%description profiles-postgresql +Additional tuned profile(s) targeted to PostgreSQL server loads. + %prep %autosetup -p1 -n %{name}-%{version}%{?prerel2} @@ -268,8 +267,13 @@ touch %{buildroot}%{_sysconfdir}/modprobe.d/kvm.rt.tuned.conf # validate desktop file desktop-file-validate %{buildroot}%{_datadir}/applications/tuned-gui.desktop +# Run tests on RHEL > 7 or non RHEL +# We cannot run tests on RHEL-7 because there is no python-mock package and +# python-2.7 doesn't have mock built-in +%if 0%{?rhel} > 7 || ! 0%{?rhel} %check -make test +make test %{make_python_arg} +%endif %post %systemd_post tuned.service @@ -316,11 +320,18 @@ if [ "$1" == 0 ]; then then for f in /boot/loader/entries/$MACHINE_ID-*.conf do - if [ -f "$f" -a "${f: -12}" != "-rescue.conf" ] + # Skip non-files and rescue entries + if [ ! -f "$f" -o "${f: -12}" == "-rescue.conf" ] + then + continue + fi + # Skip boom managed entries + if [[ "$f" =~ \w*-[0-9a-f]{7,}-.*-.*.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 || : + continue fi + 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 || : done fi fi @@ -379,6 +390,7 @@ fi %exclude %{_prefix}/lib/tuned/realtime-virtual-host %exclude %{_prefix}/lib/tuned/cpu-partitioning %exclude %{_prefix}/lib/tuned/spectrumscale-ece +%exclude %{_prefix}/lib/tuned/postgresql %{_prefix}/lib/tuned %dir %{_sysconfdir}/tuned %dir %{_sysconfdir}/tuned/recommend.d @@ -492,7 +504,29 @@ fi %{_prefix}/lib/tuned/spindown-disk %{_mandir}/man7/tuned-profiles-compat.7* +%files profiles-postgresql +%defattr(-,root,root,-) +%{_prefix}/lib/tuned/postgresql +%{_mandir}/man7/tuned-profiles-postgresql.7* + %changelog +* Tue Dec 1 2020 Jaroslav Škarvada - 2.15.0-0.1.rc1 +- new release + - rebased tuned to latest upstream + resolves: rhbz#1874052 + - added plugin service for linux services control + resolves: rhbz#1869991 + - scheduler: added default_irq_smp_affinity option + resolves: rhbz#1896348 + - bootloader: skip boom managed BLS snippets + resolves: rhbz#1901532 + - scheduler: added perf_process_fork option to enable processing of fork + resolves: rhbz#1894610 + - scheduler: added perf_mmap_pages option to set perf buffer size + resolves: rhbz#1890219 + - bootloader: fixed cmdline duplication with BLS and grub2-mkconfig + resolves: rhbz#1777874 + * Wed Jul 29 2020 Fedora Release Engineering - 2.14.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild