commit:     ba6868339b1b1d1bfedb18276f428ecf66bda233
Author:     Kurt Kanzenbach <kurt <AT> kmk-computers <DOT> de>
AuthorDate: Mon Mar  2 19:27:52 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar  7 01:13:34 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba686833

dev-util/rt-tests: drop 2.8

Signed-off-by: Kurt Kanzenbach <kurt <AT> kmk-computers.de>
Part-of: https://github.com/gentoo/gentoo/pull/45884
Closes: https://github.com/gentoo/gentoo/pull/45884
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/rt-tests/Manifest                       |   1 -
 dev-util/rt-tests/files/rt-tests-2.8-glibc.patch |  55 ----
 dev-util/rt-tests/files/rt-tests-2.8-musl.patch  | 366 -----------------------
 dev-util/rt-tests/rt-tests-2.8.ebuild            |  43 ---
 4 files changed, 465 deletions(-)

diff --git a/dev-util/rt-tests/Manifest b/dev-util/rt-tests/Manifest
index 1c798e7efdc9..7647e0225c96 100644
--- a/dev-util/rt-tests/Manifest
+++ b/dev-util/rt-tests/Manifest
@@ -1,3 +1,2 @@
 DIST rt-tests-2.10.tar.xz 109264 BLAKE2B 
f7dd3b6276b4137fe6cb2b7858f5c6d24089fa1dbafc1f1305e7e88b53157811d6fc16290b4a41415811e4f557fed6fdc189d77a81c1b7453bff7ff2da2f9ef6
 SHA512 
04185c76cc57d2da5d1ad52f5e7a4e656dcf1e8b7d52f3271eec3d4dc1c8732b9ce36310fde4fb25360c8bfd75c1786d1b745f5cac1bb1b1ea05e99c8e4ce21f
-DIST rt-tests-2.8.tar.xz 108480 BLAKE2B 
852143d6d8017f08cecf847e5feb8d59390373828826d75f5d22259208fc0c3e3966615039cfc9a832648377044ffd10cced481796d68426c70bb824b558c1f4
 SHA512 
e3fa03258cd1fe22a65c6af9ac17398dba79fbb5a92f6aacbbb06bfb677982abc421d699d2889850505e83d78b0605cced7dbfb176e023cc34bdd25ec819a3a5
 DIST rt-tests-2.9.tar.xz 108708 BLAKE2B 
df8554767296b9938916a6484d4a177ccc5140db56437b8a07b6352c092f1512aedd12e44683295392d3457bfba012b131d38cc5af5fef3054f7ae20a477bb56
 SHA512 
7e7fe2bc8833891900c9c29ad1e0b188003bcdbd40aeb2412153fef3d5f2157a8a3964d46060e9e12ffc200e66dcfb55f78b8df3163ed33116e9b834e4f3113f

diff --git a/dev-util/rt-tests/files/rt-tests-2.8-glibc.patch 
b/dev-util/rt-tests/files/rt-tests-2.8-glibc.patch
deleted file mode 100644
index 7cfbdaa0236b..000000000000
--- a/dev-util/rt-tests/files/rt-tests-2.8-glibc.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 280e198c39d1b17d0491d7c4e7afda97ae6c8e6f Mon Sep 17 00:00:00 2001
-From: Yaakov Selkowitz <[email protected]>
-Date: Wed, 29 Jan 2025 16:46:11 -0500
-Subject: [PATCH] Fix rt-tests build with glibc-2.41
-
-The sched_*attr APIs were added to glibc
-https://sourceware.org/git/?p=glibc.git;a=commit;h=21571ca0d70302909cf72707b2a7736cf12190a0
-
-This fixes the build conflict in rt-tests with glibc-2.4
-
-Signed-off-by: Yaakov Selkowitz <[email protected]>
-Signed-off-by: John Kacur <[email protected]>
----
- src/include/rt-sched.h | 2 ++
- src/lib/rt-sched.c     | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/src/include/rt-sched.h b/src/include/rt-sched.h
-index 80171c76e0ee..dfd7f45f51cc 100644
---- a/src/include/rt-sched.h
-+++ b/src/include/rt-sched.h
-@@ -42,6 +42,7 @@
- #define __NR_sched_getattr            275
- #endif
- 
-+#if ! __GLIBC_PREREQ(2, 41)
- struct sched_attr {
-       uint32_t size;
-       uint32_t sched_policy;
-@@ -67,5 +68,6 @@ int sched_getattr(pid_t pid,
-                 struct sched_attr *attr,
-                 unsigned int size,
-                 unsigned int flags);
-+#endif
- 
- #endif /* __RT_SCHED_H__ */
-diff --git a/src/lib/rt-sched.c b/src/lib/rt-sched.c
-index 8023bc70c473..2500abde26e4 100644
---- a/src/lib/rt-sched.c
-+++ b/src/lib/rt-sched.c
-@@ -14,6 +14,7 @@
- 
- #include "rt-sched.h"
- 
-+#if ! __GLIBC_PREREQ(2, 41)
- int sched_setattr(pid_t pid,
-                 const struct sched_attr *attr,
-                 unsigned int flags)
-@@ -28,3 +29,4 @@ int sched_getattr(pid_t pid,
- {
-       return syscall(__NR_sched_getattr, pid, attr, size, flags);
- }
-+#endif
--- 
-2.47.1

diff --git a/dev-util/rt-tests/files/rt-tests-2.8-musl.patch 
b/dev-util/rt-tests/files/rt-tests-2.8-musl.patch
deleted file mode 100644
index c98111331a31..000000000000
--- a/dev-util/rt-tests/files/rt-tests-2.8-musl.patch
+++ /dev/null
@@ -1,366 +0,0 @@
-From 0b7a1e0d3463aa8aa4b7dcad0ec154e658d68036 Mon Sep 17 00:00:00 2001
-From: Kurt Kanzenbach <[email protected]>
-Date: Wed, 1 Apr 2020 20:15:24 +0200
-Subject: [PATCH] all: Fix musl build
-
-There are a few problems:
-
- * pi stress:  pthread_attr_setaffinity_np() is not supported
- * cyclictest: SIGEV_THREAD_ID is not supported
- * hackbench:  Fix include, add missing casts
- * all:        Fix sched_* calls
-
-With these changes applied, the rt-tests seem to run fine.
-
-Signed-off-by: Kurt Kanzenbach <[email protected]>
----
- Makefile                              |    5 --
- src/backfire/sendme.c                 |    1 
- src/cyclictest/cyclictest.c           |   68 
++++------------------------------
- src/hackbench/hackbench.c             |   12 +++---
- src/include/musl.h                    |   28 ++++++++++++++
- src/lib/rt-utils.c                    |    1 
- src/pi_tests/tst-mutexpi10.c          |    2 +
- src/pmqtest/pmqtest.c                 |    1 
- src/ptsematest/ptsematest.c           |    1 
- src/rt-migrate-test/rt-migrate-test.c |    1 
- src/sched_deadline/cyclicdeadline.c   |    1 
- 11 files changed, 51 insertions(+), 70 deletions(-)
- create mode 100644 src/include/musl.h
-
---- a/Makefile
-+++ b/Makefile
-@@ -10,7 +10,6 @@ OBJDIR = bld
- sources = cyclictest.c \
-         hackbench.c \
-         pip_stress.c \
--        pi_stress.c \
-         pmqtest.c \
-         ptsematest.c \
-         rt-migrate-test.c \
-@@ -58,7 +57,6 @@ ifeq (${PYLIB},)
- endif
- 
- MANPAGES = src/cyclictest/cyclictest.8 \
--         src/pi_tests/pi_stress.8 \
-          src/ptsematest/ptsematest.8 \
-          src/rt-migrate-test/rt-migrate-test.8 \
-          src/sigwaittest/sigwaittest.8 \
-@@ -146,9 +144,6 @@ deadline_test: $(OBJDIR)/deadline_test.o
- signaltest: $(OBJDIR)/signaltest.o $(OBJDIR)/librttest.a 
$(OBJDIR)/librttestnuma.a
-       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(RTTESTLIB) $(RTTESTNUMA)
- 
--pi_stress: $(OBJDIR)/pi_stress.o $(OBJDIR)/librttest.a
--      $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(RTTESTLIB)
--
- hwlatdetect:  src/hwlatdetect/hwlatdetect.py
-       chmod +x src/hwlatdetect/hwlatdetect.py
-       ln -s src/hwlatdetect/hwlatdetect.py hwlatdetect
---- a/src/backfire/sendme.c
-+++ b/src/backfire/sendme.c
-@@ -16,6 +16,7 @@
- #include <string.h>
- #include <time.h>
- #include <errno.h>
-+#include "musl.h"
- #include "rt-utils.h"
- #include "rt-get_cpu.h"
- 
---- a/src/cyclictest/cyclictest.c
-+++ b/src/cyclictest/cyclictest.c
-@@ -33,6 +33,7 @@
- #include <sys/utsname.h>
- #include <sys/mman.h>
- #include <sys/syscall.h>
-+#include "musl.h"
- #include "rt_numa.h"
- 
- #include "rt-utils.h"
-@@ -634,12 +635,8 @@ static void *timerthread(void *param)
- {
-       struct thread_param *par = param;
-       struct sched_param schedp;
--      struct sigevent sigev;
-       sigset_t sigset;
--      timer_t timer;
-       struct timespec now, next, interval, stop = { 0 };
--      struct itimerval itimer;
--      struct itimerspec tspec;
-       struct thread_stat *stat = par->stats;
-       int stopped = 0;
-       cpu_set_t mask;
-@@ -668,14 +665,6 @@ static void *timerthread(void *param)
-       sigaddset(&sigset, par->signal);
-       sigprocmask(SIG_BLOCK, &sigset, NULL);
- 
--      if (par->mode == MODE_CYCLIC) {
--              sigev.sigev_notify = SIGEV_THREAD_ID | SIGEV_SIGNAL;
--              sigev.sigev_signo = par->signal;
--              sigev.sigev_notify_thread_id = stat->tid;
--              timer_create(par->clock, &sigev, &timer);
--              tspec.it_interval = interval;
--      }
--
-       memset(&schedp, 0, sizeof(schedp));
-       schedp.sched_priority = par->prio;
-       if (setscheduler(0, par->policy, &schedp))
-@@ -729,20 +718,6 @@ static void *timerthread(void *param)
-               stop = now;
-               stop.tv_sec += duration;
-       }
--      if (par->mode == MODE_CYCLIC) {
--              if (par->timermode == TIMER_ABSTIME)
--                      tspec.it_value = next;
--              else
--                      tspec.it_value = interval;
--              timer_settime(timer, par->timermode, &tspec, NULL);
--      }
--
--      if (par->mode == MODE_SYS_ITIMER) {
--              itimer.it_interval.tv_sec = interval.tv_sec;
--              itimer.it_interval.tv_usec = interval.tv_nsec / 1000;
--              itimer.it_value = itimer.it_interval;
--              setitimer(ITIMER_REAL, &itimer, NULL);
--      }
- 
-       stat->threadstarted++;
- 
-@@ -750,16 +725,10 @@ static void *timerthread(void *param)
- 
-               uint64_t diff;
-               unsigned long diff_smi = 0;
--              int sigs, ret;
-+              int ret;
- 
-               /* Wait for next period */
-               switch (par->mode) {
--              case MODE_CYCLIC:
--              case MODE_SYS_ITIMER:
--                      if (sigwait(&sigset, &sigs) < 0)
--                              goto out;
--                      break;
--
-               case MODE_CLOCK_NANOSLEEP:
-                       if (par->timermode == TIMER_ABSTIME) {
-                               ret = clock_nanosleep(par->clock, TIMER_ABSTIME,
-@@ -873,11 +842,6 @@ static void *timerthread(void *param)
- 
-               next.tv_sec += interval.tv_sec;
-               next.tv_nsec += interval.tv_nsec;
--              if (par->mode == MODE_CYCLIC) {
--                      int overrun_count = timer_getoverrun(timer);
--                      next.tv_sec += overrun_count * interval.tv_sec;
--                      next.tv_nsec += overrun_count * interval.tv_nsec;
--              }
-               tsnorm(&next);
- 
-               while (tsgreater(&now, &next)) {
-@@ -902,17 +866,6 @@ out:
-               pthread_mutex_unlock(&refresh_on_max_lock);
-       }
- 
--      if (par->mode == MODE_CYCLIC)
--              timer_delete(timer);
--
--      if (par->mode == MODE_SYS_ITIMER) {
--              itimer.it_value.tv_sec = 0;
--              itimer.it_value.tv_usec = 0;
--              itimer.it_interval.tv_sec = 0;
--              itimer.it_interval.tv_usec = 0;
--              setitimer(ITIMER_REAL, &itimer, NULL);
--      }
--
-       /* close msr file */
-       if (smi)
-               close(par->msr_fd);
-@@ -1315,7 +1268,8 @@ static void process_options(int argc, ch
-               case OPT_VERBOSE: verbose = 1; break;
-               case 'x':
-               case OPT_POSIX_TIMERS:
--                      use_nanosleep = MODE_CYCLIC; break;
-+                      fatal("--posix_timers is not available on your libc\n");
-+                      break;
-               case '?':
-               case OPT_HELP:
-                       display_help(0); break;
-@@ -1351,13 +1305,6 @@ static void process_options(int argc, ch
-               }
-       }
- 
--      if ((use_system == MODE_SYS_OFFSET) && (use_nanosleep == MODE_CYCLIC)) {
--              warn("The system option requires clock_nanosleep\n");
--              warn("and is not compatible with posix_timers\n");
--              warn("Using clock_nanosleep\n");
--              use_nanosleep = MODE_CLOCK_NANOSLEEP;
--      }
--
-       /* if smp wasn't requested, test for numa automatically */
-       if (!smp) {
-               numa = numa_initialize();
-@@ -2071,7 +2018,6 @@ int main(int argc, char **argv)
- 
-       }
- 
--
-       mode = use_nanosleep + use_system;
- 
-       sigemptyset(&sigset);
-@@ -2126,6 +2072,7 @@ int main(int argc, char **argv)
-                       void *currstk;
-                       size_t stksize;
-                       int node_cpu = cpu;
-+                      int err;
- 
-                       if (node_cpu == -1)
-                               node_cpu = cpu_for_thread_ua(i, max_cpus);
-@@ -2134,11 +2081,12 @@ int main(int argc, char **argv)
-                       node = rt_numa_numa_node_of_cpu(node_cpu);
- 
-                       /* get the stack size set for this thread */
--                      if (pthread_attr_getstack(&attr, &currstk, &stksize))
-+                      err = pthread_attr_getstack(&attr, &currstk, &stksize);
-+                      if (err != EINVAL)
-                               fatal("failed to get stack size for thread 
%d\n", i);
- 
-                       /* if the stack size is zero, set a default */
--                      if (stksize == 0)
-+                      if (err == EINVAL || stksize == 0)
-                               stksize = PTHREAD_STACK_MIN * 2;
- 
-                       /*  allocate memory for a stack on appropriate node */
---- a/src/hackbench/hackbench.c
-+++ b/src/hackbench/hackbench.c
-@@ -25,7 +25,7 @@
- #include <sys/socket.h>
- #include <sys/wait.h>
- #include <sys/time.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <limits.h>
-@@ -34,6 +34,8 @@
- #include <setjmp.h>
- #include <sched.h>
- 
-+#include "musl.h"
-+
- static unsigned int datasize = 100;
- static unsigned int loops = 100;
- static unsigned int num_groups = 10;
-@@ -128,9 +130,9 @@ static int inet_socketpair(int fds[2])
-       sin.sin_port = 0;
-       sin.sin_addr.s_addr = inet_addr("127.0.0.1");
- 
--      if (bind(s1, &sin, len) < 0)
-+      if (bind(s1, (struct sockaddr *)&sin, len) < 0)
-               barf("bind");
--      if (getsockname(s1, &sin, &len) < 0)
-+      if (getsockname(s1, (struct sockaddr *)&sin, &len) < 0)
-               barf("getsockname");
-       if (listen(s1, 10) < 0)
-               barf("listen");
-@@ -138,9 +140,9 @@ static int inet_socketpair(int fds[2])
-               barf("ioctl");
-       if (ioctl(s1, FIONBIO, &ul) < 0)
-               barf("ioctl");
--      if (connect(s2, &sin, len) < 0)
-+      if (connect(s2, (struct sockaddr *)&sin, len) < 0)
-               barf("connect");
--      if ((fds[0] = accept(s1, &sin, &len)) < 0)
-+      if ((fds[0] = accept(s1, (struct sockaddr *)&sin, &len)) < 0)
-               barf("accept");
-       ul = 0;
-       if (ioctl(s2, FIONBIO, &ul) < 0)
---- /dev/null
-+++ b/src/include/musl.h
-@@ -0,0 +1,28 @@
-+/*
-+ * Copyright (C) 2020 Kurt Kanzenbach <[email protected]>
-+ * Time-stamp: <2020-04-04 10:54:01 kurt>
-+ */
-+
-+#ifndef _MUSL_H_
-+#define _MUSL_H_
-+
-+#include <unistd.h>
-+#include <sys/syscall.h>
-+
-+/*
-+ * Musl someshow defines sched_* to ENOSYS which is not correct ...
-+ * See commit 1e21e78bf7a5 ("add support for thread scheduling (POSIX TPS 
option)")
-+ *
-+ * Workaround: define them to syscall(...)
-+ */
-+
-+#define sched_getparam(pid, param)            \
-+      syscall(SYS_sched_getparam, pid, param)
-+#define sched_setparam(pid, param)            \
-+      syscall(SYS_sched_setparam, pid, param)
-+#define sched_getscheduler(pid)                       \
-+      syscall(SYS_sched_getscheduler, pid)
-+#define sched_setscheduler(pid, policy, param)                        \
-+      syscall(SYS_sched_setscheduler, pid, policy, param)
-+
-+#endif /* _MUSL_H_ */
---- a/src/lib/rt-utils.c
-+++ b/src/lib/rt-utils.c
-@@ -24,6 +24,7 @@
- #include <time.h>
- #include <sys/time.h>
- 
-+#include "musl.h"
- #include "rt-utils.h"
- #include "rt-sched.h"
- #include "rt-error.h"
---- a/src/pi_tests/tst-mutexpi10.c
-+++ b/src/pi_tests/tst-mutexpi10.c
-@@ -35,6 +35,8 @@
- #include <string.h>
- #include <signal.h>
- 
-+#include "musl.h"
-+
- /* test timeout */
- #define TIMEOUT 2
- 
---- a/src/pmqtest/pmqtest.c
-+++ b/src/pmqtest/pmqtest.c
-@@ -24,6 +24,7 @@
- #include <pthread.h>
- #include <inttypes.h>
- 
-+#include "musl.h"
- #include "rt-utils.h"
- #include "rt-get_cpu.h"
- #include "rt-error.h"
---- a/src/ptsematest/ptsematest.c
-+++ b/src/ptsematest/ptsematest.c
-@@ -22,6 +22,7 @@
- #include <pthread.h>
- #include <inttypes.h>
- 
-+#include "musl.h"
- #include "rt-utils.h"
- #include "rt-get_cpu.h"
- #include "rt-error.h"
---- a/src/rt-migrate-test/rt-migrate-test.c
-+++ b/src/rt-migrate-test/rt-migrate-test.c
-@@ -27,6 +27,7 @@
- 
- #include <linux/unistd.h>
- 
-+#include "musl.h"
- #include "rt-utils.h"
- 
- int nr_tasks;
---- a/src/sched_deadline/cyclicdeadline.c
-+++ b/src/sched_deadline/cyclicdeadline.c
-@@ -30,6 +30,7 @@
- #include <linux/unistd.h>
- #include <linux/magic.h>
- 
-+#include "musl.h"
- #include "rt-utils.h"
- #include "rt-sched.h"
- #include "rt-error.h"

diff --git a/dev-util/rt-tests/rt-tests-2.8.ebuild 
b/dev-util/rt-tests/rt-tests-2.8.ebuild
deleted file mode 100644
index 13defff2467a..000000000000
--- a/dev-util/rt-tests/rt-tests-2.8.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit python-single-r1 toolchain-funcs flag-o-matic
-
-DESCRIPTION="A collection of latency testing tools for the linux(-rt) kernel"
-HOMEPAGE="https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/";
-SRC_URI="
-       https://kernel.org/pub/linux/utils/rt-tests/${P}.tar.xz
-       https://kernel.org/pub/linux/utils/rt-tests/older/${P}.tar.xz";
-
-LICENSE="GPL-2 GPL-2+ LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
-       sys-process/numactl"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-       "${FILESDIR}/${P}-glibc.patch"
-)
-
-src_prepare() {
-       default
-       use elibc_musl && eapply "${FILESDIR}/${P}-musl.patch"
-}
-
-src_compile() {
-       append-lfs-flags
-       emake CC="$(tc-getCC)" AR="$(tc-getAR)"
-}
-
-src_install() {
-       emake CC="$(tc-getCC)" prefix=/usr DESTDIR="${ED}" install
-       python_fix_shebang "${ED}"
-       python_optimize
-}

Reply via email to