public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: John Kacur <jkacur@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/rteval] f44: Upgrade to rteval-3.11
Date: Wed, 10 Jun 2026 20:27:46 GMT	[thread overview]
Message-ID: <178112326640.1.12892477230910473401.rpms-rteval-c814f3d97bcc@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/rteval
Branch : f44
Commit : c814f3d97bcc9c81f874b269694e73b1573c9040
Author : John Kacur <jkacur@redhat.com>
Date   : 2026-06-10T15:44:59-04:00
Stats  : +155/-33 in 7 file(s)
URL    : https://src.fedoraproject.org/rpms/rteval/c/c814f3d97bcc9c81f874b269694e73b1573c9040?branch=f44

Log:
Upgrade to rteval-3.11

---
diff --git a/.gitignore b/.gitignore
index 6f04882..5166726 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@
 /rteval-3.8.tar.xz
 /rteval-3.9.tar.xz
 /rteval-3.10.tar.xz
+/rteval-3.11.tar.xz

diff --git a/0001-rteval-do-not-require-wheel-for-building.patch b/0001-rteval-do-not-require-wheel-for-building.patch
deleted file mode 100644
index 35ee758..0000000
--- a/0001-rteval-do-not-require-wheel-for-building.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6bcbc23f9d6ce753f360c16863f441aa793a9217 Mon Sep 17 00:00:00 2001
-From: Yaakov Selkowitz <yselkowi@redhat.com>
-Date: Wed, 26 Nov 2025 17:18:49 -0500
-Subject: [PATCH] rteval: do not require wheel for building
-
-Setuptools 70.1+ does not need wheel at all; older versions would fetch
-wheel when building wheels (but not sdists).
-
-Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
----
-See also: https://github.com/fedora-eln/eln/issues/284
-
- pyproject.toml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index 9fc681f..4ea8a78 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -1,5 +1,5 @@
- [build-system]
--requires = ["setuptools>=61.0", "wheel"]
-+requires = ["setuptools>=61.0"]
- build-backend = "setuptools.build_meta"
- 
- [project]
--- 
-2.51.1
-

diff --git a/rteval-cyclictest-Improve-handling-of-truncated-hist.patch b/rteval-cyclictest-Improve-handling-of-truncated-hist.patch
new file mode 100644
index 0000000..e5842e5
--- /dev/null
+++ b/rteval-cyclictest-Improve-handling-of-truncated-hist.patch
@@ -0,0 +1,56 @@
+From 3abdf7bf7b24d40e862b8df55e1925122e67b765 Mon Sep 17 00:00:00 2001
+From: John Kacur <jkacur@redhat.com>
+Date: Fri, 5 Jun 2026 16:11:25 -0400
+Subject: [PATCH 2/3] rteval: cyclictest: Improve handling of truncated
+ histogram output
+
+When cyclictest is terminated with SIGINT during rteval shutdown, the
+output buffer may not be fully flushed, resulting in an incomplete
+final histogram line. This caused IndexError warnings when parsing.
+
+Changes:
+- Validate histogram lines have expected field count before parsing
+  (1 index + numcores values) to skip incomplete lines early
+- Downgrade parsing error from WARN to DEBUG since incomplete output
+  is expected during normal process termination
+- Calculate expected field count dynamically based on actual core count
+
+This eliminates confusing warnings during normal operation while still
+catching unexpected parsing issues in debug logs.
+
+Assisted-by: Claude Sonnet 4.5 <noreply@anthropic.com>
+Signed-off-by: John Kacur <jkacur@redhat.com>
+---
+ rteval/modules/measurement/cyclictest.py | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
+index a120a552da11..a1bf0d2d7324 100644
+--- a/rteval/modules/measurement/cyclictest.py
++++ b/rteval/modules/measurement/cyclictest.py
+@@ -404,13 +404,21 @@ class Cyclictest(rtevalModulePrototype):
+                     self._log(Log.DEBUG, f"cyclictest: unexpected output: {line}")
+                     continue
+ 
++                # Validate line has expected number of fields: 1 index + (cores * 1 value)
++                expected_fields = 1 + self.__numcores
++                if len(vals) < expected_fields:
++                    self._log(Log.DEBUG, f'Skipping incomplete histogram line at bucket {index} '
++                              f'({len(vals)} fields, expected {expected_fields})')
++                    continue
++
+                 for i, core in enumerate(self.__cpus):
+                     try:
+                         self.__cyclicdata[core].bucket(index, int(vals[i+1]))
+                         self.__cyclicdata['system'].bucket(index, int(vals[i+1]))
+                     except (IndexError, ValueError) as e:
+                         # Handle partial output from cyclictest (can happen on SIGINT during cleanup)
+-                        self._log(Log.WARN, f"Error parsing cyclictest bucket data for core {core}: {e}")
++                        self._log(Log.DEBUG, f"Skipping incomplete bucket data for core {core} "
++                                  f"(expected during process termination): {e}")
+                         continue
+ 
+             # generate statistics for each RunData object
+-- 
+2.54.0
+

diff --git a/rteval-do-not-require-wheel-for-building.patch b/rteval-do-not-require-wheel-for-building.patch
new file mode 100644
index 0000000..35ee758
--- /dev/null
+++ b/rteval-do-not-require-wheel-for-building.patch
@@ -0,0 +1,29 @@
+From 6bcbc23f9d6ce753f360c16863f441aa793a9217 Mon Sep 17 00:00:00 2001
+From: Yaakov Selkowitz <yselkowi@redhat.com>
+Date: Wed, 26 Nov 2025 17:18:49 -0500
+Subject: [PATCH] rteval: do not require wheel for building
+
+Setuptools 70.1+ does not need wheel at all; older versions would fetch
+wheel when building wheels (but not sdists).
+
+Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
+---
+See also: https://github.com/fedora-eln/eln/issues/284
+
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 9fc681f..4ea8a78 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools>=61.0", "wheel"]
++requires = ["setuptools>=61.0"]
+ build-backend = "setuptools.build_meta"
+ 
+ [project]
+-- 
+2.51.1
+

diff --git a/rteval-timerlat-Improve-handling-of-truncated-histog.patch b/rteval-timerlat-Improve-handling-of-truncated-histog.patch
new file mode 100644
index 0000000..46006f3
--- /dev/null
+++ b/rteval-timerlat-Improve-handling-of-truncated-histog.patch
@@ -0,0 +1,58 @@
+From 6b38190d2d66968b637dada5c8af9226ca8a7a5b Mon Sep 17 00:00:00 2001
+From: John Kacur <jkacur@redhat.com>
+Date: Fri, 5 Jun 2026 16:08:09 -0400
+Subject: [PATCH 3/3] rteval: timerlat: Improve handling of truncated histogram
+ output
+
+When timerlat is terminated with SIGINT during rteval shutdown, the
+output buffer may not be fully flushed, resulting in an incomplete
+final histogram line. This caused IndexError warnings when parsing.
+
+Changes:
+- Validate histogram lines have expected field count before parsing
+  (1 index + numcores * 3 values) to skip incomplete lines early
+- Downgrade parsing error from WARN to DEBUG since incomplete output
+  is expected during normal process termination
+- Calculate expected field count dynamically based on actual core count
+  instead of using magic number 49
+
+This eliminates confusing warnings during normal operation while still
+catching unexpected parsing issues in debug logs.
+
+Assisted-by: Claude Sonnet 4.5 <noreply@anthropic.com>
+Signed-off-by: John Kacur <jkacur@redhat.com>
+---
+ rteval/modules/measurement/timerlat.py | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/rteval/modules/measurement/timerlat.py b/rteval/modules/measurement/timerlat.py
+index a3219e216296..7f592ea697af 100644
+--- a/rteval/modules/measurement/timerlat.py
++++ b/rteval/modules/measurement/timerlat.py
+@@ -480,6 +480,13 @@ class Timerlat(rtevalModulePrototype):
+                     self._log(Log.DEBUG, f'timerlat: unexpected output: {line}')
+                     continue
+ 
++                # Validate line has expected number of fields: 1 index + (cores * 3 values)
++                expected_fields = 1 + self.__numcores * 3
++                if len(vals) < expected_fields:
++                    self._log(Log.DEBUG, f'Skipping incomplete histogram line at bucket {index} '
++                              f'({len(vals)} fields, expected {expected_fields})')
++                    continue
++
+                 for i, core in enumerate(self.__cpus):
+                     # There might not be a count on every cpu if tracing invoked
+                     try:
+@@ -495,7 +502,8 @@ class Timerlat(rtevalModulePrototype):
+                                                          int(vals[i*3+3]))
+                     except (IndexError, ValueError) as e:
+                         # Handle partial output from rtla (can happen on SIGINT during cleanup)
+-                        self._log(Log.WARN, f"Error parsing timerlat bucket data for core {core}: {e}")
++                        self._log(Log.DEBUG, f"Skipping incomplete bucket data for core {core} "
++                                  f"(expected during process termination): {e}")
+                         continue
+ 
+                 # Generate statistics for each RunData object
+-- 
+2.54.0
+

diff --git a/rteval.spec b/rteval.spec
index 1d13766..4f1df2e 100644
--- a/rteval.spec
+++ b/rteval.spec
@@ -1,6 +1,6 @@
 Name:		rteval
-Version:	3.10
-Release:	6%{?dist}
+Version:	3.11
+Release:	1%{?dist}
 Summary:	Utility to evaluate system suitability for RT Linux
 
 Group:		Development/Tools
@@ -8,7 +8,9 @@ License:	GPL-2.0-only AND GPL-2.0-or-later
 URL:		https://git.kernel.org/pub/scm/utils/rteval/rteval.git
 Source0:	https://www.kernel.org/pub/linux/utils/%{name}/%{name}-%{version}.tar.xz
 # https://lore.kernel.org/linux-rt-users/20251126231223.100316-1-yselkowi@redhat.com/T/#u
-Patch0:         0001-rteval-do-not-require-wheel-for-building.patch
+Patch0:         rteval-do-not-require-wheel-for-building.patch
+Patch2:         rteval-cyclictest-Improve-handling-of-truncated-hist.patch
+Patch3:         rteval-timerlat-Improve-handling-of-truncated-histog.patch
 
 BuildRequires:	python3-devel
 Requires:	python3-libxml2
@@ -81,6 +83,11 @@ install -m 0644 rteval.conf %{buildroot}%{_sysconfdir}/rteval.conf
 %{_bindir}/rteval
 
 %changelog
+* Wed Jun 10 2026 John Kacur <jkacur@redhat.com> - 3.11-1
+- Upgrade to rteval-3.11
+- rteval: cyclictest: Improve handling of truncated histogram output
+- rteval: timerlat: Improve handling of truncated histogram output
+
 * Wed Jun 03 2026 Python Maint <python-maint@redhat.com> - 3.10-6
 - Rebuilt for Python 3.15
 

diff --git a/sources b/sources
index bddf3c3..8814fbc 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rteval-3.10.tar.xz) = 1e5d7ffc32c22e1a5a060c9d4621e12c919fea752bc21f51a9c4cc485284b21354ee6eb3d1b41af4d1377eae2648ede812b8f9a2670ad39c4e58810656b6e03a
+SHA512 (rteval-3.11.tar.xz) = 555b01bdd37442fae68ac1c808945c3c786ceba86a5f248df955d6256e8078485cab8f660ba2c428e35a0cae95817db884bb81b57b7b839afe7b9f625234bc09

                 reply	other threads:[~2026-06-10 20:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178112326640.1.12892477230910473401.rpms-rteval-c814f3d97bcc@fedoraproject.org \
    --to=jkacur@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox