From 6208ab6028ac05971d3450b34b1c3c9ad6864bb1 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Tue, 1 Dec 2020 19:14:13 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/tuned.git#ce00809fef539ceb1b259125cec85572f09221ee --- sources | 2 +- ....14.0-amd-performance-regression-fix.patch | 30 -------- ...scheduler-isolated-cores-cgroups-fix.patch | 55 -------------- tuned.spec | 76 ++++++++++++++----- 4 files changed, 56 insertions(+), 107 deletions(-) delete mode 100644 tuned-2.14.0-amd-performance-regression-fix.patch delete mode 100644 tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch 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 - 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 + # Skip boom managed entries + if [[ "$f" =~ \w*-[0-9a-f]{7,}-.*-.*.conf ]] + then + 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