diff --git a/.gitignore b/.gitignore index 9735bee..8f9b96c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/tuned-2.15.0.tar.gz +SOURCES/tuned-2.16.0.tar.gz diff --git a/.tuned.metadata b/.tuned.metadata index f880b6a..2d7f88a 100644 --- a/.tuned.metadata +++ b/.tuned.metadata @@ -1 +1 @@ -bfb3def0b687bbdae2b3e191d2fda46b3ffca1c0 SOURCES/tuned-2.15.0.tar.gz +e20fcfb734f869fb175cb88dc7ef6e5eb3cd5946 SOURCES/tuned-2.16.0.tar.gz diff --git a/SOURCES/tuned-2.16.0-rhel-8-profiles.patch b/SOURCES/tuned-2.16.0-rhel-8-profiles.patch new file mode 100644 index 0000000..e357432 --- /dev/null +++ b/SOURCES/tuned-2.16.0-rhel-8-profiles.patch @@ -0,0 +1,83 @@ +diff --git a/profiles/latency-performance/tuned.conf b/profiles/latency-performance/tuned.conf +index da1e357..66f06ae 100644 +--- a/profiles/latency-performance/tuned.conf ++++ b/profiles/latency-performance/tuned.conf +@@ -32,3 +32,16 @@ vm.dirty_background_ratio=3 + # 100 tells the kernel to aggressively swap processes out of physical memory + # and move them to swap cache + vm.swappiness=10 ++ ++[scheduler] ++# 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) ++sched_min_granularity_ns = 3000000 ++sched_wakeup_granularity_ns = 4000000 ++ ++# The total time the scheduler will consider a migrated process ++# "cache hot" and thus less likely to be re-migrated ++# (system default is 500000, i.e. 0.5 ms) ++sched_migration_cost_ns = 5000000 +diff --git a/profiles/sap-hana/tuned.conf b/profiles/sap-hana/tuned.conf +index 81d5930..c91a9ee 100644 +--- a/profiles/sap-hana/tuned.conf ++++ b/profiles/sap-hana/tuned.conf +@@ -20,3 +20,7 @@ kernel.numa_balancing = 0 + vm.dirty_ratio = 40 + vm.dirty_background_ratio = 10 + vm.swappiness = 10 ++ ++[scheduler] ++sched_min_granularity_ns = 3000000 ++sched_wakeup_granularity_ns = 4000000 +diff --git a/profiles/throughput-performance/tuned.conf b/profiles/throughput-performance/tuned.conf +index 98c6b26..ebb3f7d 100644 +--- a/profiles/throughput-performance/tuned.conf ++++ b/profiles/throughput-performance/tuned.conf +@@ -58,9 +58,31 @@ vm.dirty_background_ratio = 10 + # and move them to swap cache + vm.swappiness=10 + ++[scheduler] ++# 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) ++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. ++sched_wakeup_granularity_ns = 15000000 ++ + # Marvell ThunderX + [sysctl.thunderx] + type=sysctl + uname_regex=aarch64 + cpuinfo_regex=${thunderx_cpuinfo_regex} + kernel.numa_balancing=0 ++ ++# AMD ++[scheduler.amd] ++type=scheduler ++uname_regex=x86_64 ++cpuinfo_regex=${amd_cpuinfo_regex} ++sched_migration_cost_ns=5000000 +diff --git a/profiles/virtual-host/tuned.conf b/profiles/virtual-host/tuned.conf +index c1942da..3358105 100644 +--- a/profiles/virtual-host/tuned.conf ++++ b/profiles/virtual-host/tuned.conf +@@ -14,3 +14,9 @@ vm.dirty_background_ratio = 5 + [cpu] + # Setting C3 state sleep mode/power savings + force_latency=cstate.id:3|70 ++ ++[scheduler] ++# The total time the scheduler will consider a migrated process ++# "cache hot" and thus less likely to be re-migrated ++# (system default is 500000, i.e. 0.5 ms) ++sched_migration_cost_ns = 5000000 diff --git a/SPECS/tuned.spec b/SPECS/tuned.spec index 7dbef38..df515ab 100644 --- a/SPECS/tuned.spec +++ b/SPECS/tuned.spec @@ -33,7 +33,7 @@ Summary: A dynamic adaptive system tuning daemon Name: tuned -Version: 2.15.0 +Version: 2.16.0 Release: 1%{?prerel1}%{?dist} License: GPLv2+ Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz @@ -45,12 +45,13 @@ BuildRequires: systemd, desktop-file-utils Requires(post): systemd, virt-what Requires(preun): systemd Requires(postun): systemd +BuildRequires: make 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 +BuildRequires: %{_py}-pyudev +Requires: %{_py}-pyudev, %{_py}-configobj +Requires: %{_py}-linux-procfs, %{_py}-perf # requires for packages with inconsistent python2/3 names %if %{with python3} # BuildRequires for 'make test' @@ -72,9 +73,16 @@ Recommends: hdparm Recommends: kernel-tools Recommends: kmod %endif +# syspurpose +%if 0%{?rhel} > 8 +Requires: subscription-manager +%else %if 0%{?rhel} > 7 Requires: python3-syspurpose %endif +%endif +# Revert upstream profiles changes which have not been approved for RHEL-8 (yet) +Patch0: tuned-2.16.0-rhel-8-profiles.patch %description The tuned package contains a daemon that tunes system settings dynamically. @@ -229,6 +237,7 @@ Additional tuned profile(s) targeted to PostgreSQL server loads. %prep %setup -q -n %{name}-%{version}%{?prerel2} +%patch0 -p1 # Replace the upstream recommend.conf with a RHEL-8-specific one rm -f recommend.conf @@ -510,6 +519,48 @@ fi %{_mandir}/man7/tuned-profiles-postgresql.7* %changelog +* Wed Jul 21 2021 Jaroslav Škarvada - 2.16.0-1 +- new release + - rebased tuned to latest upstream + related: rhbz#1936426 + +* Wed Jul 7 2021 Jaroslav Škarvada - 2.16.0-0.1.rc1 +- new release + - rebased tuned to latest upstream + resolves: rhbz#1936426 + - realtime: "isolate_managed_irq=Y" should be mentioned in + "/etc/tuned/realtime-virtual-*-variables.conf" + resolves: rhbz#1817827 + - realtime: changed tuned default to "isolcpus=domain,managed_irq,X-Y" + resolves: rhbz#1820626 + - applying a profile with multiple inheritance where parents include a common + ancestor fails + resolves: rhbz#1825882 + - failure in moving i40e IRQ threads to housekeeping CPUs from isolated CPUs + resolves: rhbz#1933069 + - sort network devices before matching by regex + resolves: rhbz#1939970 + - net: fixed traceback while adjusting the netdev queue count + resolves: rhbz#1943291 + - net: fixed traceback if the first listed device returns netlink error + resolves: rhbz#1944686 + - realtime: improve verification + resolves: rhbz#1947858 + - bootloader: add support for the rpm-ostree + resolves: rhbz#1950164 + - net: fixed traceback if a device channel contains n/a + resolves: rhbz#1974071 + - mssql: updated the profile + resolves: rhbz#1942733 + +* Wed Apr 21 2021 Jaroslav Škarvada - 2.15.0-3 +- updated mssql profile + resolves: rhbz#1942733 + +* Fri Feb 19 2021 Jaroslav Škarvada - 2.15.0-2 +- realtime: added support for netdev_queue_count and extended plugin_net + resolves: rhbz#1951992 + * Thu Dec 17 2020 Jaroslav Škarvada - 2.15.0-1 - new release - rebased tuned to latest upstream