diff --git a/.gitignore b/.gitignore index a30bf5b..7d0986a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/tuned-2.21.0.tar.gz +SOURCES/tuned-2.22.1.tar.gz diff --git a/.tuned.metadata b/.tuned.metadata index 8a29916..f939654 100644 --- a/.tuned.metadata +++ b/.tuned.metadata @@ -1 +1 @@ -586db5263ea7dabcc57e24aceb249d397d7d0239 SOURCES/tuned-2.21.0.tar.gz +60e206fe73ea537e64141f92b331f65879766f97 SOURCES/tuned-2.22.1.tar.gz diff --git a/SOURCES/tuned-2.20.0-rhel-8-profiles.patch b/SOURCES/tuned-2.22.0-rhel-8-profiles.patch similarity index 88% rename from SOURCES/tuned-2.20.0-rhel-8-profiles.patch rename to SOURCES/tuned-2.22.0-rhel-8-profiles.patch index 1a8a759..1d7dd3f 100644 --- a/SOURCES/tuned-2.20.0-rhel-8-profiles.patch +++ b/SOURCES/tuned-2.22.0-rhel-8-profiles.patch @@ -1,13 +1,14 @@ diff --git a/profiles/latency-performance/tuned.conf b/profiles/latency-performance/tuned.conf -index d200b5c..877229f 100644 +index 1dec690..e592138 100644 --- a/profiles/latency-performance/tuned.conf +++ b/profiles/latency-performance/tuned.conf -@@ -32,3 +32,16 @@ vm.dirty_background_ratio=3 +@@ -35,3 +35,17 @@ 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] ++runtime=0 +# ktune sysctl settings for rhel6 servers, maximizing i/o throughput +# +# Minimal preemption granularity for CPU-bound tasks: @@ -20,26 +21,28 @@ index d200b5c..877229f 100644 +# (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 aeecf53..8dcee57 100644 +index aeecf53..1b15ea3 100644 --- a/profiles/sap-hana/tuned.conf +++ b/profiles/sap-hana/tuned.conf -@@ -20,3 +20,7 @@ kernel.numa_balancing = 0 +@@ -20,3 +20,8 @@ kernel.numa_balancing = 0 vm.dirty_ratio = 40 vm.dirty_background_ratio = 10 vm.swappiness = 10 + +[scheduler] ++runtime=0 +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 62a7322..7c55fb2 100644 +index e4e832f..3d9c42f 100644 --- a/profiles/throughput-performance/tuned.conf +++ b/profiles/throughput-performance/tuned.conf -@@ -63,9 +63,31 @@ vm.swappiness=10 +@@ -67,9 +67,33 @@ vm.swappiness=10 # on older kernels net.core.somaxconn=>2048 +[scheduler] ++runtime=0 +# ktune sysctl settings for rhel6 servers, maximizing i/o throughput +# +# Minimal preemption granularity for CPU-bound tasks: @@ -66,17 +69,19 @@ index 62a7322..7c55fb2 100644 +type=scheduler +uname_regex=x86_64 +cpuinfo_regex=${amd_cpuinfo_regex} ++runtime=0 +sched_migration_cost_ns=5000000 diff --git a/profiles/virtual-host/tuned.conf b/profiles/virtual-host/tuned.conf -index 5301d9f..74a5fb0 100644 +index 5301d9f..24d0fb4 100644 --- a/profiles/virtual-host/tuned.conf +++ b/profiles/virtual-host/tuned.conf -@@ -14,3 +14,9 @@ vm.dirty_background_ratio = 5 +@@ -14,3 +14,10 @@ vm.dirty_background_ratio = 5 [cpu] # Setting C3 state sleep mode/power savings force_latency=cstate.id_no_zero:3|70 + +[scheduler] ++runtime=0 +# 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) diff --git a/SPECS/tuned.spec b/SPECS/tuned.spec index a2bc5c8..af1b0fa 100644 --- a/SPECS/tuned.spec +++ b/SPECS/tuned.spec @@ -34,7 +34,7 @@ Summary: A dynamic adaptive system tuning daemon Name: tuned -Version: 2.21.0 +Version: 2.22.1 Release: 1%{?prerel1}%{?dist} License: GPLv2+ Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz @@ -94,7 +94,7 @@ Requires: python3-syspurpose %endif %endif # Revert upstream profiles changes which have not been approved for RHEL-8 (yet) -Patch0: tuned-2.20.0-rhel-8-profiles.patch +Patch0: tuned-2.22.0-rhel-8-profiles.patch # Revert no balancing cores to use SD_LOAD_BALANCE (see rhbz#1874596 for details) Patch1: tuned-2.21.0-sd-load-balance.patch @@ -255,6 +255,17 @@ Requires: %{name} = %{version} %description profiles-openshift Additional TuneD profile(s) optimized for OpenShift. +%package ppd +Summary: PPD compatibility daemon +Requires: %{name} = %{version} +# The compatibility daemon is swappable for power-profiles-daemon +Provides: ppd-service +Conflicts: ppd-service + +%description ppd +An API translation daemon that allows applications to easily transition +to TuneD from power-profiles-daemon (PPD). + %prep %autosetup -p1 -n %{name}-%{version}%{?prerel2} @@ -271,9 +282,7 @@ make html %{make_python_arg} %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 +make install-ppd DESTDIR=%{buildroot} DOCDIR=%{docdir} %{make_python_arg} %if ! 0%{?rhel} # manual @@ -551,7 +560,46 @@ fi %{_prefix}/lib/tuned/openshift-node %{_mandir}/man7/tuned-profiles-openshift.7* +%files ppd +%{_sbindir}/tuned-ppd +%{_unitdir}/tuned-ppd.service +%{_datadir}/dbus-1/system-services/net.hadess.PowerProfiles.service +%{_datadir}/dbus-1/system.d/net.hadess.PowerProfiles.conf +%{_datadir}/polkit-1/actions/net.hadess.PowerProfiles.policy +%config(noreplace) %{_sysconfdir}/tuned/ppd.conf + %changelog +* Thu Feb 22 2024 Jaroslav Škarvada - 2.22.1-1 +- new release + - rebased tuned to latest upstream + related: RHEL-17119 + - renamed intel_uncore plugin to uncore + - network-throughput: increased net.ipv4.tcp_rmem default value + +* Fri Feb 16 2024 Jaroslav Škarvada - 2.22.0-1 +- new release + - rebased tuned to latest upstream + related: RHEL-17119 + - lower CPU usage by using runtime=0 in profiles using scheduler plugin + resolves: RHEL-6869 + +* Fri Feb 9 2024 Jaroslav Škarvada - 2.22.0-0.1.rc1 +- new release + - rebased tuned to latest upstream + resolves: RHEL-17119 + - print all arguments of failing commands in error messages + - plugin_sysctl: added support for sysctl names with slash + - tuned-adm: added support for moving devices between plugin instances + - api: added methods for retrieval of plugin instances and devices + - plugin_cpu: amd-pstate mentioned instead of just intel_pstate + - hotplug: do not report ENOENT errors on device remove + - plugin_sysctl: expand variables when reporting overrides + - plugin_acpi: new plugin which handles ACPI platform_profile + - plugin_bootloader: skip calling rpm-ostree kargs in no-op case + - plugin_cpu: support cstate settings of pm_qos_resume_latency_us + - scheduler: add option for ignoring IRQs affinity + - plugin_intel_uncore: new plugin for uncore setting + * Tue Aug 29 2023 Jaroslav Škarvada - 2.21.0-1 - new release - api: fixed stop method not to require any parameter