From 5e8231e252c32d99e818d09b2655349acda3a3e8 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Dec 03 2020 08:11:56 +0000 Subject: import tuned-2.15.0-0.1.rc1.el8 --- diff --git a/.gitignore b/.gitignore index f2fcc56..f7322e9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/tuned-2.14.0.tar.gz +SOURCES/tuned-2.15.0-rc.1.tar.gz diff --git a/.tuned.metadata b/.tuned.metadata index 0d3e106..be313dd 100644 --- a/.tuned.metadata +++ b/.tuned.metadata @@ -1 +1 @@ -53140aba44d956fac19c37c2c0052835c1fdd7e9 SOURCES/tuned-2.14.0.tar.gz +e55481c01a4b4c70ceaaa46baceda700964b202a SOURCES/tuned-2.15.0-rc.1.tar.gz diff --git a/SOURCES/tuned-2.14.0-amd-performance-regression-fix.patch b/SOURCES/tuned-2.14.0-amd-performance-regression-fix.patch deleted file mode 100644 index e51870e..0000000 --- a/SOURCES/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/SOURCES/tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch b/SOURCES/tuned-2.14.0-scheduler-isolated-cores-cgroups-fix.patch deleted file mode 100644 index d839c51..0000000 --- a/SOURCES/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/SPECS/tuned.spec b/SPECS/tuned.spec index 5c755a8..fe258ed 100644 --- a/SPECS/tuned.spec +++ b/SPECS/tuned.spec @@ -25,16 +25,16 @@ %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 # RHEL-8 specific recommend.conf: @@ -57,26 +57,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. @@ -186,11 +184,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. @@ -227,17 +220,26 @@ 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 %setup -q -n %{name}-%{version}%{?prerel2} -%patch0 -p1 -%patch1 -p1 - # Replace the upstream recommend.conf with a RHEL-8-specific one rm -f recommend.conf cp -p %{SOURCE1} recommend.conf %build +# Docs cannot be generated on RHEL now due to missing asciidoctor dependency +# asciidoc doesn't seem to be compatible +%if ! 0%{?rhel} +make html %{make_python_arg} +%endif %install make install DESTDIR=%{buildroot} DOCDIR=%{docdir} %{make_python_arg} @@ -245,6 +247,11 @@ make install DESTDIR=%{buildroot} DOCDIR=%{docdir} %{make_python_arg} sed -i 's/\(dynamic_tuning[ \t]*=[ \t]*\).*/\10/' %{buildroot}%{_sysconfdir}/tuned/tuned-main.conf %endif +%if ! 0%{?rhel} +# manual +make install-html DESTDIR=%{buildroot} DOCDIR=%{docdir} +%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 @@ -261,8 +268,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 @@ -309,11 +321,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 @@ -372,6 +391,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 @@ -485,7 +505,33 @@ fi %{_prefix}/lib/tuned/spindown-disk %{_mandir}/man7/tuned-profiles-compat.7* +%files profiles-postgresql +%{_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 + +* Thu Oct 1 2020 Jaroslav Škarvada - 2.14.0-4 +- realtime-virtual-host: remove lapic advancement calculation and + related qemu-kvm-tools-rhev requirement + Resolves: rhbz#1845717 + * Fri Jul 3 2020 Jaroslav Škarvada - 2.14.0-3 - scheduler: fixed isolated_cores to work with cgroups related: rhbz#1784648