From bef4315dabf58526e1a94e7773a2f29432679d0a Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 22 May 2024 10:48:29 +0000 Subject: [PATCH] import CS tuned-2.22.1-4.el8 --- .gitignore | 2 +- .tuned.metadata | 2 +- ...tch => tuned-2.21.0-sd-load-balance.patch} | 12 +-- ...tch => tuned-2.22.0-rhel-8-profiles.patch} | 21 +++-- SOURCES/tuned-2.22.1-profile-epyc-eda.patch | 54 +++++++++++ SPECS/tuned.spec | 94 +++++++++++++++++-- 6 files changed, 161 insertions(+), 24 deletions(-) rename SOURCES/{tuned-2.18.0-sd-load-balance.patch => tuned-2.21.0-sd-load-balance.patch} (91%) rename SOURCES/{tuned-2.20.0-rhel-8-profiles.patch => tuned-2.22.0-rhel-8-profiles.patch} (88%) create mode 100644 SOURCES/tuned-2.22.1-profile-epyc-eda.patch diff --git a/.gitignore b/.gitignore index 7d4ec36..7d0986a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/tuned-2.20.0.tar.gz +SOURCES/tuned-2.22.1.tar.gz diff --git a/.tuned.metadata b/.tuned.metadata index 0e43617..f939654 100644 --- a/.tuned.metadata +++ b/.tuned.metadata @@ -1 +1 @@ -6a6c9a91ab1e556b884965432895cdf64ebd6016 SOURCES/tuned-2.20.0.tar.gz +60e206fe73ea537e64141f92b331f65879766f97 SOURCES/tuned-2.22.1.tar.gz diff --git a/SOURCES/tuned-2.18.0-sd-load-balance.patch b/SOURCES/tuned-2.21.0-sd-load-balance.patch similarity index 91% rename from SOURCES/tuned-2.18.0-sd-load-balance.patch rename to SOURCES/tuned-2.21.0-sd-load-balance.patch index d42600c..f77f30f 100644 --- a/SOURCES/tuned-2.18.0-sd-load-balance.patch +++ b/SOURCES/tuned-2.21.0-sd-load-balance.patch @@ -1,5 +1,5 @@ diff --git a/profiles/cpu-partitioning/script.sh b/profiles/cpu-partitioning/script.sh -index 84e04fd..8677050 100755 +index ec422ca..cb378b7 100755 --- a/profiles/cpu-partitioning/script.sh +++ b/profiles/cpu-partitioning/script.sh @@ -2,6 +2,38 @@ @@ -60,7 +60,7 @@ index 84e04fd..8677050 100755 } diff --git a/profiles/cpu-partitioning/tuned.conf b/profiles/cpu-partitioning/tuned.conf -index 979e40b..842e2bd 100644 +index 11f03cf..a682c9c 100644 --- a/profiles/cpu-partitioning/tuned.conf +++ b/profiles/cpu-partitioning/tuned.conf @@ -35,8 +35,6 @@ no_balance_cores_expanded=${f:cpulist_unpack:${no_balance_cores}} @@ -69,10 +69,10 @@ index 979e40b..842e2bd 100644 -cmd_isolcpus=${f:regex_search_ternary:${no_balance_cores}:\s*[0-9]: isolcpus=${no_balance_cores}:} - - [sysctl] - kernel.hung_task_timeout_secs = 600 - kernel.nmi_watchdog = 0 -@@ -68,4 +66,4 @@ priority=10 + [sysfs] + /sys/bus/workqueue/devices/writeback/cpumask = ${not_isolated_cpumask} + /sys/devices/virtual/workqueue/cpumask = ${not_isolated_cpumask} +@@ -62,4 +60,4 @@ priority=10 initrd_remove_dir=True initrd_dst_img=tuned-initrd.img initrd_add_dir=${tmpdir} 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/SOURCES/tuned-2.22.1-profile-epyc-eda.patch b/SOURCES/tuned-2.22.1-profile-epyc-eda.patch new file mode 100644 index 0000000..bf0a7b6 --- /dev/null +++ b/SOURCES/tuned-2.22.1-profile-epyc-eda.patch @@ -0,0 +1,54 @@ +From 7557cf975282326cdbfe55b7b803d8075ff37cba Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= +Date: Tue, 12 Mar 2024 20:25:43 +0100 +Subject: [PATCH] epyc-eda: added new profile for EDA compute workloads on AMD + EPYC CPUs +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Jaroslav Škarvada +--- + man/tuned-profiles.7 | 4 ++++ + profiles/epyc-eda/tuned.conf | 14 ++++++++++++++ + 2 files changed, 18 insertions(+) + create mode 100644 profiles/epyc-eda/tuned.conf + +diff --git a/man/tuned-profiles.7 b/man/tuned-profiles.7 +index 10cad7b..600e8bb 100644 +--- a/man/tuned-profiles.7 ++++ b/man/tuned-profiles.7 +@@ -141,6 +141,10 @@ profiles (e.g. throughput\-performance profile), example: + Profile optimized for AWS EC2 instances. It is based on the + throughput\-performance profile. + ++.TP ++.BI "epyc-eda" ++Profile optimized for EDA compute workloads on AMD EPYC CPUs. ++ + .SH "FILES" + .nf + .I /etc/tuned/* +diff --git a/profiles/epyc-eda/tuned.conf b/profiles/epyc-eda/tuned.conf +new file mode 100644 +index 0000000..482d404 +--- /dev/null ++++ b/profiles/epyc-eda/tuned.conf +@@ -0,0 +1,14 @@ ++# ++# tuned configuration ++# ++ ++[main] ++summary=Optimize for EDA compute workloads on AMD EPYC CPUs ++description=Configures virtual memory, CPU governors, and network settings for EDA compute workloads. ++include=throughput-performance ++ ++# AMD ++[scheduler.amd] ++type=scheduler ++#Allow processes to rapidly move between cores to avoid idle time and maximize CPU usage ++sched_migration_cost_ns=10000 +-- +2.44.0 + diff --git a/SPECS/tuned.spec b/SPECS/tuned.spec index 0aceea2..6bd6ee6 100644 --- a/SPECS/tuned.spec +++ b/SPECS/tuned.spec @@ -34,8 +34,8 @@ Summary: A dynamic adaptive system tuning daemon Name: tuned -Version: 2.20.0 -Release: 1%{?prerel1}%{?dist} +Version: 2.22.1 +Release: 4%{?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: @@ -94,9 +94,11 @@ 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.18.0-sd-load-balance.patch +Patch1: tuned-2.21.0-sd-load-balance.patch +# epyc-eda TuneD profile only for RHEL-8 (see RHEL-27528 for details) +Patch2: tuned-2.22.1-profile-epyc-eda.patch %description The tuned package contains a daemon that tunes system settings dynamically. @@ -255,6 +257,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 +284,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 @@ -410,6 +421,7 @@ fi %exclude %{_prefix}/lib/tuned/spindown-disk %exclude %{_prefix}/lib/tuned/sap-netweaver %exclude %{_prefix}/lib/tuned/sap-hana +%exclude %{_prefix}/lib/tuned/sap-hana-kvm-guest %exclude %{_prefix}/lib/tuned/mssql %exclude %{_prefix}/lib/tuned/oracle %exclude %{_prefix}/lib/tuned/atomic-host @@ -434,7 +446,6 @@ fi %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/post_loaded_profile %config(noreplace) %{_sysconfdir}/tuned/tuned-main.conf %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/bootcmdline -%{_sysconfdir}/dbus-1/system.d/com.redhat.tuned.conf %verify(not size mtime md5) %{_sysconfdir}/modprobe.d/tuned.conf %{_tmpfilesdir}/tuned.conf %{_unitdir}/tuned.service @@ -446,6 +457,7 @@ fi %{_mandir}/man8/tuned* %dir %{_datadir}/tuned %{_datadir}/tuned/grub2 +%{_datadir}/dbus-1/system.d/com.redhat.tuned.conf %{_datadir}/polkit-1/actions/com.redhat.tuned.policy %ghost %{_sysconfdir}/modprobe.d/kvm.rt.tuned.conf %{_prefix}/lib/kernel/install.d/92-tuned.install @@ -485,6 +497,7 @@ fi %files profiles-sap-hana %{_prefix}/lib/tuned/sap-hana +%{_prefix}/lib/tuned/sap-hana-kvm-guest %{_mandir}/man7/tuned-profiles-sap-hana.7* %files profiles-mssql @@ -549,7 +562,72 @@ 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 +* Wed Mar 13 2024 Jaroslav Škarvada - 2.22.1-4 +- release bump due to broken c8s + related: RHEL-27528 + +* Wed Mar 13 2024 Jaroslav Škarvada - 2.22.1-3 +- release bump + related: RHEL-27528 + +* Tue Mar 12 2024 Jaroslav Škarvada - 2.22.1-2 +- profiles: added epyc-eda profile + resolves: RHEL-27528 + +* 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 + resolves: rhbz#2235638 + +* Sun Aug 20 2023 Jaroslav Škarvada - 2.21.0-0.1.rc1 +- new release + - rebased tuned to latest upstream + resolves: rhbz#2182119 + - sap-hana: new profile sap-hana-kvm-guest + resolves: rhbz#2173740 + - serialized SIGHUP handler to prevent possible bootcmdline corruption + resolves: rhbz#2215298 + * Fri Feb 17 2023 Jaroslav Škarvada - 2.20.0-1 - new release - rebased tuned to latest upstream