diff --git a/.gitignore b/.gitignore index 63d5b7c..d0f66c3 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ powerpc-utils-1.2.2.tar.gz /powerpc-utils-1.3.9.tar.gz /powerpc-utils-1.3.10.tar.gz /powerpc-utils-1.3.11.tar.gz +/powerpc-utils-1.3.12.tar.gz diff --git a/powerpc-utils-1.3.10-distro.patch b/powerpc-utils-1.3.10-distro.patch deleted file mode 100644 index 84f8aa8..0000000 --- a/powerpc-utils-1.3.10-distro.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up powerpc-utils-1.3.10/Makefile.am.me powerpc-utils-1.3.10/Makefile.am ---- powerpc-utils-1.3.10/Makefile.am.me 2022-06-03 12:35:01.335312481 +0200 -+++ powerpc-utils-1.3.10/Makefile.am 2022-06-03 14:11:58.453820076 +0200 -@@ -229,7 +229,6 @@ install-data-hook: - $(INSTALL_DATA) systemd/smtstate.service $(DESTDIR)${systemd_unit_dir}/ - $(INSTALL_DATA) systemd/hcn-init.service $(DESTDIR)${systemd_unit_dir}/ - $(INSTALL_DATA) var/lib/powerpc-utils/smt.state $(DESTDIR)/var/lib/@PACKAGE@/ -- $(INSTALL_SCRIPT) scripts/functions.suse $(DESTDIR)/usr/lib/@PACKAGE@/ - $(INSTALL_SCRIPT) scripts/smtstate $(DESTDIR)@sbindir@ - sed -i -e 's,$${exec_prefix},@prefix@,g' $(DESTDIR)${systemd_unit_dir}/smt_off.service - sed -i -e 's,$${exec_prefix},@prefix@,g' $(DESTDIR)${systemd_unit_dir}/smtstate.service diff --git a/powerpc-utils-1.3.10-lparstat-Fix-offline-threads-uninitialized-entries.patch b/powerpc-utils-1.3.10-lparstat-Fix-offline-threads-uninitialized-entries.patch deleted file mode 100644 index 0d1ec77..0000000 --- a/powerpc-utils-1.3.10-lparstat-Fix-offline-threads-uninitialized-entries.patch +++ /dev/null @@ -1,46 +0,0 @@ -commit dee15756bcb287ccf39a904be07c90107b13844b -Author: Laurent Dufour -Date: Wed May 3 10:50:15 2023 +0200 - - lparstat: Fix offline threads uninitialized entries - - When some threads are offline, lparstat -E is failing like that: - - $ ppc64_cpu --info # CPU 20 is offline - Core 0: 0* 1* 2* 3* 4* 5* 6* 7* - Core 1: 8* 9* 10* 11* 12* 13* 14* 15* - Core 2: 16* 17* 18* 19* 20 21* 22* 23* - Core 3: 24* 25* 26* 27* 28* 29* 30* 31* - Core 4: 32* 33* 34* 35* 36* 37* 38* 39* - Core 5: 40* 41* 42* 43* 44* 45* 46* 47* - $ lparstat -E - Failed to read /sys/devices/system/cpu/cpu0/spurr - - The message is complaining about CPU0 but the real issue is that in - parse_sysfs_values() the test cpu_sysfs_fds[i].spurr >= 0 is valid even if - the entry has not been initialized (cpu_sysfs_fds is alloc cleared). So - if the number of threads online seen in assign_cpu_sysfs_fds is lower than - threads_in_system, the loop in parse_sysfs_values() will read uninitialized - entry, where .cpu=0. - - To prevent that, unset entries in the cpu_sysfs_fds should have the spurr - fd set to -1. - - Signed-off-by: Laurent Dufour - Signed-off-by: Tyrel Datwyler - -diff --git a/src/lparstat.c b/src/lparstat.c -index a9e7bce..d2fdb3f 100644 ---- a/src/lparstat.c -+++ b/src/lparstat.c -@@ -163,6 +163,10 @@ static int assign_cpu_sysfs_fds(int threads_in_system) - cpu_idx++; - } - -+ /* Mark extra slots for offline threads unset, see parse_sysfs_values */ -+ for (; cpu_idx < threads_in_system; cpu_idx++) -+ cpu_sysfs_fds[cpu_idx].spurr = -1; -+ - return 0; - error: - fprintf(stderr, "Failed to open %s: %s\n", diff --git a/powerpc-utils-1.3.10-lparstat-report-mixed-SMT-state.patch b/powerpc-utils-1.3.10-lparstat-report-mixed-SMT-state.patch deleted file mode 100644 index d7717dc..0000000 --- a/powerpc-utils-1.3.10-lparstat-report-mixed-SMT-state.patch +++ /dev/null @@ -1,93 +0,0 @@ -commit b2672fa3d462217ccd057a2cd307af2448e78757 -Author: Laurent Dufour -Date: Wed May 3 10:50:14 2023 +0200 - - lparstat: report mixed SMT state - - when SMT state is mixed like this one (CPU 4 is offline): - - $ ppc64_cpu --info - Core 0: 0* 1* 2* 3* 4 5* 6* 7* - Core 1: 8* 9* 10* 11* 12* 13* 14* 15* - Core 2: 16* 17* 18* 19* 20* 21* 22* 23* - Core 3: 24* 25* 26* 27* 28* 29* 30* 31* - Core 4: 32* 33* 34* 35* 36* 37* 38* 39* - Core 5: 40* 41* 42* 43* 44* 45* 46* 47* - $ ppc64_cpu --smt - SMT=7: 0 - SMT=8: 1-5 - - ppc64_cpu --smt is handling that nicely but lparstat failed reporting the - SMT state: - $ /usr/sbin/lparstat - Failed to get smt state - - System Configuration - type=Dedicated mode=Capped smt=Capped lcpu=6 mem=65969728 kB cpus=0 ent=6.00 - - %user %sys %wait %idle physc %entc lbusy app vcsw phint - ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- - 0.02 0.01 0.00 99.97 3.41 56.83 0.02 0.00 4061778 156 - - Makes lparstat reporting "smt=mixed" in that case. - __do_smt is now returning 0 when the SMT state is mixed instead of -1 which - is also reported when an error is detected. - This doesn't change the call made by ppc64_cpu which is using - print_smt_state=true and so is expecting a returned value equal to 0 or -1. - - With that patch applied, lparstat print that in the above case: - $lparstat - - System Configuration - type=Dedicated mode=Capped smt=Mixed lcpu=6 mem=65969728 kB cpus=0 ent=6.00 - - %user %sys %wait %idle physc %entc lbusy app vcsw phint - ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- - 0.01 0.01 0.00 99.97 3.43 57.17 0.02 0.00 4105654 156 - - Signed-off-by: Laurent Dufour - Signed-off-by: Tyrel Datwyler - -diff --git a/src/common/cpu_info_helpers.c b/src/common/cpu_info_helpers.c -index 925f220..c05d96d 100644 ---- a/src/common/cpu_info_helpers.c -+++ b/src/common/cpu_info_helpers.c -@@ -245,7 +245,7 @@ int __do_smt(bool numeric, int cpus_in_system, int threads_per_cpu, - if (smt_state == 0) - smt_state = thread + 1; - else if (smt_state > 0) -- smt_state = -1; /* mix of SMT modes */ -+ smt_state = 0; /* mix of SMT modes */ - } - } - -@@ -257,7 +257,7 @@ int __do_smt(bool numeric, int cpus_in_system, int threads_per_cpu, - printf("SMT=1\n"); - else - printf("SMT is off\n"); -- } else if (smt_state == -1) { -+ } else if (smt_state == 0) { - for (thread = 0; thread < threads_per_cpu; thread++) { - if (CPU_COUNT_S(cpu_state_size, - cpu_states[thread])) { -diff --git a/src/lparstat.c b/src/lparstat.c -index eebba1f..a9e7bce 100644 ---- a/src/lparstat.c -+++ b/src/lparstat.c -@@ -884,13 +884,15 @@ void get_smt_mode(struct sysentry *se, char *buf) - } - - smt_state = parse_smt_state(); -- if (smt_state < 0) { -+ if (smt_state == -1) { - fprintf(stderr, "Failed to get smt state\n"); - return; - } - - if (smt_state == 1) - sprintf(buf, "Off"); -+ else if (smt_state == 0) -+ sprintf(buf, "Mixed"); - else - sprintf(buf, "%d", smt_state); - } diff --git a/powerpc-utils-73ba26-lparstat-fix_negative_values.patch b/powerpc-utils-73ba26-lparstat-fix_negative_values.patch deleted file mode 100644 index 692a7fc..0000000 --- a/powerpc-utils-73ba26-lparstat-fix_negative_values.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/src/lparstat.c b/src/lparstat.c -index 31a4ee8..eebba1f 100644 ---- a/src/lparstat.c -+++ b/src/lparstat.c -@@ -492,6 +492,15 @@ void get_cpu_util_purr(struct sysentry *unused_se, char *buf) - delta_purr = get_delta_value("purr"); - delta_idle_purr = get_delta_value("idle_purr"); - -+ /* -+ * Given that these values are read from different -+ * sources (purr from lparcfg and idle_purr from sysfs), -+ * a small variation in the values is possible. -+ * In such cases, round down delta_idle_purr to delta_purr. -+ */ -+ if (delta_idle_purr > delta_purr) -+ delta_idle_purr = delta_purr; -+ - physc = (delta_purr - delta_idle_purr) / delta_tb; - physc *= 100.00; - -@@ -507,6 +516,15 @@ void get_cpu_idle_purr(struct sysentry *unused_se, char *buf) - delta_purr = get_delta_value("purr"); - delta_idle_purr = get_delta_value("idle_purr"); - -+ /* -+ * Given that these values are read from different -+ * sources (purr from lparcfg and idle_purr from sysfs), -+ * a small variation in the values is possible. -+ * In such cases, round down delta_idle_purr to delta_purr. -+ */ -+ if (delta_idle_purr > delta_purr) -+ delta_idle_purr = delta_purr; -+ - physc = (delta_purr - delta_idle_purr) / delta_tb; - idle = (delta_purr / delta_tb) - physc; - idle *= 100.00; diff --git a/powerpc-utils.spec b/powerpc-utils.spec index 2711a31..ae866b7 100644 --- a/powerpc-utils.spec +++ b/powerpc-utils.spec @@ -1,6 +1,6 @@ Name: powerpc-utils -Version: 1.3.11 -Release: 6%{?dist} +Version: 1.3.12 +Release: 3%{?dist} Summary: PERL-based scripts for maintaining and servicing PowerPC systems License: GPL-2.0-only @@ -8,11 +8,6 @@ URL: https://github.com/ibm-power-utilities/powerpc-utils Source0: https://github.com/ibm-power-utilities/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz Source1: nx-gzip.udev Patch0: powerpc-utils-1.3.11-manpages.patch -Patch1: powerpc-utils-1.3.10-distro.patch -# upstream patches -Patch50: powerpc-utils-73ba26-lparstat-fix_negative_values.patch -Patch51: powerpc-utils-1.3.10-lparstat-Fix-offline-threads-uninitialized-entries.patch -Patch52: powerpc-utils-1.3.10-lparstat-report-mixed-SMT-state.patch ExclusiveArch: ppc %{power64} @@ -55,6 +50,7 @@ Requires: /usr/bin/ls Requires: /usr/bin/sed Requires: /usr/bin/tr Requires: /usr/bin/udevadm + # udev rule move Conflicts: libnxz < 0.63-3 @@ -89,9 +85,6 @@ install -pDm 644 %{SOURCE1} %{buildroot}%{_udevrulesdir}/90-nx-gzip.rules # remove init script and perl script. They are deprecated rm -rf $RPM_BUILD_ROOT/etc/init.d/ibmvscsis.sh $RPM_BUILD_ROOT/usr/sbin/vscsisadmin -# nvsetenv is just a wrapper to nvram -ln -s nvram.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/nvsetenv.8.gz - # symlink uspchrp ln -s serv_config %{buildroot}%{_sbindir}/uspchrp ln -s serv_config.8 %{buildroot}%{_mandir}/man8/uspchrp.8 @@ -99,6 +92,12 @@ ln -s serv_config.8 %{buildroot}%{_mandir}/man8/uspchrp.8 # deprecated, use sosreport instead rm -f $RPM_BUILD_ROOT%{_sbindir}/snap $RPM_BUILD_ROOT%{_mandir}/man8/snap.8* +# drop needless stuffs +rm -rf $RPM_BUILD_ROOT%{_prefix}/lib/powerpc-utils + +# keep service name +mv $RPM_BUILD_ROOT%{_unitdir}/hcn-init-NetworkManager.service $RPM_BUILD_ROOT%{_unitdir}/hcn-init.service + %post core %systemd_post hcn-init.service # update the smt.state file with current SMT @@ -118,18 +117,25 @@ systemctl enable hcn-init.service >/dev/null 2>&1 || : %files # PERL-based scripts for maintaining and servicing PowerPC systems %doc README Changelog +%license COPYING %{_sbindir}/hvcsadmin %{_sbindir}/rtas_dump %{_mandir}/man8/hvcsadmin.8* %{_mandir}/man8/rtas_dump.8* %files core +%doc README Changelog %license COPYING %dir %{_localstatedir}/lib/powerpc-utils %config(noreplace) %{_localstatedir}/lib/powerpc-utils/smt.state %{_unitdir}/smtstate.service %{_unitdir}/smt_off.service %{_unitdir}/hcn-init.service +%if 0%{?wicked} +%{_unitdir}/hcn-init-wicked.service +%else +%exclude %{_unitdir}/hcn-init-wicked.service +%endif %{_bindir}/amsstat %{_sbindir}/activate_firmware %{_sbindir}/bootlist @@ -203,6 +209,15 @@ systemctl enable hcn-init.service >/dev/null 2>&1 || : %changelog +* Tue Apr 09 2024 Than Ngo - 1.3.12-3 +- Resolves: RHEL-32262, update 1.3.12 for rhel-10 + +* Sun Apr 07 2024 Than Ngo - 1.3.12-2 +- conditionally hcn-init-wicked.service + +* Fri Apr 05 2024 Than Ngo - 1.3.12-1 +- update to 1.3.12 + * Fri Jan 26 2024 Fedora Release Engineering - 1.3.11-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index c9d89bc..08af79e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (powerpc-utils-1.3.11.tar.gz) = 448fbbd707a4ad734db79206fabc01f76a41738ce54d6dea86573bf4b7ea8e98e4efe99b1173d91dc0c0f4ee4312c044a7bf087a2a5f50c7e9089f81b1425921 +SHA512 (powerpc-utils-1.3.12.tar.gz) = 43b192ff48407d49db0f31f2f347b41f44866452f215d37fe6b7705085f57066bf508bd462ff4f0b141f0a292fe15c990dd5693512a562e11a572aa6f0891b5f