Rebase realtime-tests to the latest upstream
Signed-off-by: Tyonnchie Berry <tyberry@redhat.com>
This commit is contained in:
parent
3c059c3c41
commit
740502a403
1
.gitignore
vendored
1
.gitignore
vendored
@ -10,3 +10,4 @@
|
||||
/0003-rt-tests-Remove-remaining-unnecessary-texts-after-ad.patch
|
||||
/rt-tests-2.7.tar.xz
|
||||
/rt-tests-2.8.tar.xz
|
||||
/rt-tests-2.9.tar.xz
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
From cb0d857539d2fedc31533390021b600edb906352 Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Glozar <tglozar@redhat.com>
|
||||
Date: Wed, 4 Dec 2024 16:40:03 +0100
|
||||
Subject: [PATCH 1/2] rt-tests: Put variables in test-feature in quotes
|
||||
|
||||
test-feature passes several variables (OBJDIR, CFLAGS, CPPFLAGS,
|
||||
LDFLAGS) to make via a shell command from inside the Makefile. If there
|
||||
are spaces in either of these, it gets parsed as a second argument
|
||||
to make and feature detection fails.
|
||||
|
||||
Add quotes around the values to prevent them being passed as multiple
|
||||
arguments.
|
||||
|
||||
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
feature/test-feature.mak | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/feature/test-feature.mak b/feature/test-feature.mak
|
||||
index 0b3e51c..aef915a 100644
|
||||
--- a/feature/test-feature.mak
|
||||
+++ b/feature/test-feature.mak
|
||||
@@ -1,5 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
define test-feature
|
||||
-$(shell $(MAKE) OBJDIR=$(OBJDIR) CFLAGS=$(CFLAGS) CPPFLAGS=$(CPPFLAGS) LDFLAGS=$(LDFLAGS) \
|
||||
+$(shell $(MAKE) OBJDIR="$(OBJDIR)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
|
||||
-f feature/Makefile feature-$1 clean >/dev/null 2>/dev/null; echo $$?)
|
||||
endef
|
||||
--
|
||||
2.43.5
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
From 623f6908ef3bc8367661a2e1440dd8c5bee91397 Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Glozar <tglozar@redhat.com>
|
||||
Date: Wed, 4 Dec 2024 16:40:04 +0100
|
||||
Subject: [PATCH 2/2] rt-tests: Handle -lcpupower flag outside LDFLAGS
|
||||
|
||||
The rt-tests Makefile adds -lcpupower to LDFLAGS if libcpupower support
|
||||
is detected on the system. However, this does not work when LDFLAGS is
|
||||
overwritten by an external source.
|
||||
|
||||
Add separate variable LIBCPUPOWER to contain the flag and pass it to the
|
||||
cyclictest linking phase. This also avoids unnecessarily passing the
|
||||
flag to the linking of other rt-tests binaries which do not use
|
||||
libcpupower.
|
||||
|
||||
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index f656e34..0fa0928 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -43,7 +43,7 @@ PYLIB ?= $(shell python3 -m get_pylib)
|
||||
ifneq ($(no_libcpupower), 1)
|
||||
ifeq ($(call test-feature,libcpupower), 0)
|
||||
CPPFLAGS += -DHAVE_LIBCPUPOWER_SUPPORT
|
||||
-LDFLAGS += -lcpupower
|
||||
+LIBCPUPOWER += -lcpupower
|
||||
else
|
||||
$(warning libcpupower is missing, building without --deepest-idle-state support.)
|
||||
$(warning Please install libcpupower-dev/kernel-tools-libs-devel)
|
||||
@@ -135,7 +135,7 @@ $(OBJDIR):
|
||||
-include $(addprefix $(OBJDIR)/,$(sources:.c=.d))
|
||||
|
||||
cyclictest: $(OBJDIR)/cyclictest.o $(OBJDIR)/librttest.a $(OBJDIR)/librttestnuma.a
|
||||
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(RTTESTLIB) $(RTTESTNUMA)
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(RTTESTLIB) $(RTTESTNUMA) $(LIBCPUPOWER)
|
||||
|
||||
cyclicdeadline: $(OBJDIR)/cyclicdeadline.o $(OBJDIR)/librttest.a
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(RTTESTLIB)
|
||||
--
|
||||
2.43.5
|
||||
|
||||
@ -1,30 +0,0 @@
|
||||
From 82120b520cebfef0da5294cbdca3b056f1f110c1 Mon Sep 17 00:00:00 2001
|
||||
From: Crystal Wood <crwood@redhat.com>
|
||||
Date: Tue, 7 Jan 2025 17:02:28 -0500
|
||||
Subject: [PATCH 2/5] rt-tests: Enable -Werror
|
||||
|
||||
Now that the most obvious nuisance warnings have been disabled, don't let
|
||||
the actual bad stuff slip in.
|
||||
|
||||
Signed-off-by: Crystal Wood <crwood@redhat.com>
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index dda29c3f5b85..26acffed8114 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -33,7 +33,7 @@ prefix ?= /usr/local
|
||||
bindir ?= $(prefix)/bin
|
||||
mandir ?= $(prefix)/share/man
|
||||
|
||||
-CFLAGS ?= -Wall -Wno-nonnull -Wextra -Wno-sign-compare -Wno-unused-parameter
|
||||
+CFLAGS ?= -Wall -Werror -Wno-nonnull -Wextra -Wno-sign-compare -Wno-unused-parameter
|
||||
CPPFLAGS += -D_GNU_SOURCE -Isrc/include
|
||||
LDFLAGS ?=
|
||||
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@ -1,56 +0,0 @@
|
||||
From d3a23a0cc76789c3083df3bad78982cd49bc4c5e Mon Sep 17 00:00:00 2001
|
||||
From: Yaakov Selkowitz <yselkowi@redhat.com>
|
||||
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 <yselkowi@redhat.com>
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
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 80171c7..dfd7f45 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 8023bc7..2500abd 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.49.0
|
||||
|
||||
@ -1,269 +0,0 @@
|
||||
From ccbdda89d4c982daaada0a4e5745d53e93f8df4e Mon Sep 17 00:00:00 2001
|
||||
From: Crystal Wood <crwood@redhat.com>
|
||||
Date: Tue, 7 Jan 2025 17:02:29 -0500
|
||||
Subject: [PATCH 3/5] rt-tests: Remove unused parameter annotations
|
||||
|
||||
These are no longer necessary with -Wno-unused-parameter
|
||||
|
||||
Signed-off-by: Crystal Wood <crwood@redhat.com>
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
src/cyclictest/cyclictest.c | 11 +++++------
|
||||
src/oslat/oslat.c | 4 ++--
|
||||
src/pi_tests/pi_stress.c | 4 ++--
|
||||
src/pmqtest/pmqtest.c | 7 +++----
|
||||
src/ptsematest/ptsematest.c | 7 +++----
|
||||
src/queuelat/queuelat.c | 2 +-
|
||||
src/rt-migrate-test/rt-migrate-test.c | 4 ++--
|
||||
src/sched_deadline/cyclicdeadline.c | 2 +-
|
||||
src/signaltest/signaltest.c | 2 +-
|
||||
src/sigwaittest/sigwaittest.c | 4 ++--
|
||||
src/ssdd/ssdd.c | 2 +-
|
||||
src/svsematest/svsematest.c | 5 +++--
|
||||
12 files changed, 26 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
|
||||
index b1f842096595..890da5d869c9 100644
|
||||
--- a/src/cyclictest/cyclictest.c
|
||||
+++ b/src/cyclictest/cyclictest.c
|
||||
@@ -436,11 +436,10 @@ static int set_deepest_cpu_idle_state(unsigned int cpu, unsigned int deepest_sta
|
||||
|
||||
static inline int have_libcpupower_support(void) { return 1; }
|
||||
#else
|
||||
-static inline int save_cpu_idle_disable_state(__attribute__((unused)) unsigned int cpu) { return -1; }
|
||||
-static inline int restore_cpu_idle_disable_state(__attribute__((unused)) unsigned int cpu) { return -1; }
|
||||
+static inline int save_cpu_idle_disable_state(unsigned int cpu) { return -1; }
|
||||
+static inline int restore_cpu_idle_disable_state(unsigned int cpu) { return -1; }
|
||||
static inline void free_cpu_idle_disable_states(void) { }
|
||||
-static inline int set_deepest_cpu_idle_state(__attribute__((unused)) unsigned int cpu,
|
||||
- __attribute__((unused)) unsigned int state) { return -1; }
|
||||
+static inline int set_deepest_cpu_idle_state(unsigned int cpu, unsigned int state) { return -1; }
|
||||
static inline int have_libcpupower_support(void) { return 0; }
|
||||
#endif /* HAVE_LIBCPUPOWER_SUPPORT */
|
||||
|
||||
@@ -1687,7 +1686,7 @@ static void rstat_print_stat(struct thread_param *par, int index, int verbose, i
|
||||
* thread that creates a named fifo and hands out run stats when someone
|
||||
* reads from the fifo.
|
||||
*/
|
||||
-static void *fifothread(void *param __attribute__ ((unused)))
|
||||
+static void *fifothread(void *param)
|
||||
{
|
||||
int ret;
|
||||
int fd;
|
||||
@@ -1868,7 +1867,7 @@ rstat_err:
|
||||
return;
|
||||
}
|
||||
|
||||
-static void write_stats(FILE *f, void *data __attribute__ ((unused)))
|
||||
+static void write_stats(FILE *f, void *data)
|
||||
{
|
||||
struct thread_param **par = parameters;
|
||||
int i;
|
||||
diff --git a/src/oslat/oslat.c b/src/oslat/oslat.c
|
||||
index 0863297f2cf1..9e5a08a2fbd9 100644
|
||||
--- a/src/oslat/oslat.c
|
||||
+++ b/src/oslat/oslat.c
|
||||
@@ -220,7 +220,7 @@ struct global {
|
||||
|
||||
static struct global g;
|
||||
|
||||
-static void workload_nop(char *dst __attribute__ ((unused)), char *src __attribute__ ((unused)), size_t size __attribute__ ((unused)))
|
||||
+static void workload_nop(char *dst, char *src, size_t size)
|
||||
{
|
||||
/* Nop */
|
||||
}
|
||||
@@ -596,7 +596,7 @@ static void run_expt(struct thread *threads, int runtime_secs, bool preheat)
|
||||
pthread_join(threads[i].thread_id, NULL);
|
||||
}
|
||||
|
||||
-static void handle_alarm(int code __attribute__ ((unused)))
|
||||
+static void handle_alarm(int code)
|
||||
{
|
||||
g.cmd = STOP;
|
||||
}
|
||||
diff --git a/src/pi_tests/pi_stress.c b/src/pi_tests/pi_stress.c
|
||||
index 1116ee61584d..6f8c5632bdd7 100644
|
||||
--- a/src/pi_tests/pi_stress.c
|
||||
+++ b/src/pi_tests/pi_stress.c
|
||||
@@ -388,7 +388,7 @@ int pending_interrupt(void)
|
||||
* 1. report progress
|
||||
* 2. check for deadlocks
|
||||
*/
|
||||
-void *reporter(void *arg __attribute__ ((unused)))
|
||||
+void *reporter(void *arg)
|
||||
{
|
||||
int status;
|
||||
int end = 0;
|
||||
@@ -1334,7 +1334,7 @@ void summary(void)
|
||||
t->tm_yday, t->tm_hour, t->tm_min, t->tm_sec);
|
||||
}
|
||||
|
||||
-void write_stats(FILE *f, void *data __attribute__ ((unused)))
|
||||
+void write_stats(FILE *f, void *data)
|
||||
{
|
||||
fprintf(f, " \"inversion\": %lu\n", total_inversions());
|
||||
}
|
||||
diff --git a/src/pmqtest/pmqtest.c b/src/pmqtest/pmqtest.c
|
||||
index b21dfa0fe0cc..04e36a1ad979 100644
|
||||
--- a/src/pmqtest/pmqtest.c
|
||||
+++ b/src/pmqtest/pmqtest.c
|
||||
@@ -418,14 +418,13 @@ static void process_options(int argc, char *argv[])
|
||||
|
||||
static int volatile shutdown;
|
||||
|
||||
-static void sighand(int sig __attribute__ ((unused)))
|
||||
+static void sighand(int sig)
|
||||
{
|
||||
shutdown = 1;
|
||||
}
|
||||
|
||||
-static void print_stat(FILE *fp __attribute__ ((unused)),
|
||||
- struct params *receiver, struct params *sender,
|
||||
- int verbose __attribute__ ((unused)), int quiet)
|
||||
+static void print_stat(FILE *fp, struct params *receiver, struct params *sender,
|
||||
+ int verbose, int quiet)
|
||||
{
|
||||
int i;
|
||||
|
||||
diff --git a/src/ptsematest/ptsematest.c b/src/ptsematest/ptsematest.c
|
||||
index 5a29718d7bfb..d21166946f6a 100644
|
||||
--- a/src/ptsematest/ptsematest.c
|
||||
+++ b/src/ptsematest/ptsematest.c
|
||||
@@ -321,14 +321,13 @@ static void process_options(int argc, char *argv[])
|
||||
|
||||
static int volatile shutdown;
|
||||
|
||||
-static void sighand(int sig __attribute__ ((unused)))
|
||||
+static void sighand(int sig)
|
||||
{
|
||||
shutdown = 1;
|
||||
}
|
||||
|
||||
-static void print_stat(FILE *fp __attribute__ ((unused)),
|
||||
- struct params *receiver, struct params *sender,
|
||||
- int verbose __attribute__ ((unused)), int quiet)
|
||||
+static void print_stat(FILE *fp, struct params *receiver, struct params *sender,
|
||||
+ int verbose, int quiet)
|
||||
{
|
||||
int i;
|
||||
|
||||
diff --git a/src/queuelat/queuelat.c b/src/queuelat/queuelat.c
|
||||
index c0573897a02b..28cf7abe83ae 100644
|
||||
--- a/src/queuelat/queuelat.c
|
||||
+++ b/src/queuelat/queuelat.c
|
||||
@@ -520,7 +520,7 @@ void main_loop(void)
|
||||
free(src);
|
||||
}
|
||||
|
||||
-void sig_handler(int sig __attribute__ ((unused)))
|
||||
+void sig_handler(int sig)
|
||||
{
|
||||
print_exit_info();
|
||||
exit(0);
|
||||
diff --git a/src/rt-migrate-test/rt-migrate-test.c b/src/rt-migrate-test/rt-migrate-test.c
|
||||
index 7b1917df12a3..8afe0834905b 100644
|
||||
--- a/src/rt-migrate-test/rt-migrate-test.c
|
||||
+++ b/src/rt-migrate-test/rt-migrate-test.c
|
||||
@@ -354,7 +354,7 @@ static void print_results(void)
|
||||
}
|
||||
}
|
||||
|
||||
-static void write_stats(FILE *f, void *data __attribute__ ((unused)))
|
||||
+static void write_stats(FILE *f, void *data)
|
||||
{
|
||||
int i;
|
||||
int t;
|
||||
@@ -489,7 +489,7 @@ static int check_times(int l)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static void stop_log(int sig __attribute__ ((unused)))
|
||||
+static void stop_log(int sig)
|
||||
{
|
||||
stop = 1;
|
||||
}
|
||||
diff --git a/src/sched_deadline/cyclicdeadline.c b/src/sched_deadline/cyclicdeadline.c
|
||||
index 631d57ee885e..32fd0d0e280f 100644
|
||||
--- a/src/sched_deadline/cyclicdeadline.c
|
||||
+++ b/src/sched_deadline/cyclicdeadline.c
|
||||
@@ -1073,7 +1073,7 @@ static int calc_nr_cpus(const char *setcpu, char **buf)
|
||||
return -1;
|
||||
}
|
||||
|
||||
-static void sighand(int sig __attribute__ ((unused)))
|
||||
+static void sighand(int sig)
|
||||
{
|
||||
shutdown = 1;
|
||||
}
|
||||
diff --git a/src/signaltest/signaltest.c b/src/signaltest/signaltest.c
|
||||
index 5412c50f7e17..d8cda97697cf 100644
|
||||
--- a/src/signaltest/signaltest.c
|
||||
+++ b/src/signaltest/signaltest.c
|
||||
@@ -353,7 +353,7 @@ static void process_options(int argc, char *argv[], unsigned int max_cpus)
|
||||
}
|
||||
}
|
||||
|
||||
-static void sighand(int sig __attribute__ ((unused)))
|
||||
+static void sighand(int sig)
|
||||
{
|
||||
shutdown = 1;
|
||||
}
|
||||
diff --git a/src/sigwaittest/sigwaittest.c b/src/sigwaittest/sigwaittest.c
|
||||
index 8c1c16fb3081..026cc8151015 100644
|
||||
--- a/src/sigwaittest/sigwaittest.c
|
||||
+++ b/src/sigwaittest/sigwaittest.c
|
||||
@@ -370,13 +370,13 @@ static void process_options(int argc, char *argv[])
|
||||
|
||||
static int volatile mustshutdown;
|
||||
|
||||
-static void sighand(int sig __attribute__ ((unused)))
|
||||
+static void sighand(int sig)
|
||||
{
|
||||
mustshutdown = 1;
|
||||
}
|
||||
|
||||
static void print_stat(struct params *receiver, struct params *sender,
|
||||
- int verbose __attribute__ ((unused)), int quiet)
|
||||
+ int verbose, int quiet)
|
||||
{
|
||||
int i;
|
||||
|
||||
diff --git a/src/ssdd/ssdd.c b/src/ssdd/ssdd.c
|
||||
index 45f6a23910ca..50f74245fd48 100644
|
||||
--- a/src/ssdd/ssdd.c
|
||||
+++ b/src/ssdd/ssdd.c
|
||||
@@ -152,7 +152,7 @@ static pid_t parent;
|
||||
static int nforks = 10;
|
||||
static int nsteps = 10000;
|
||||
|
||||
-static void sigchld(int sig __attribute__ ((unused)), siginfo_t *info __attribute__ ((unused)), void *arg __attribute__ ((unused)))
|
||||
+static void sigchld(int sig, siginfo_t *info, void *arg)
|
||||
{
|
||||
got_sigchld = 1;
|
||||
}
|
||||
diff --git a/src/svsematest/svsematest.c b/src/svsematest/svsematest.c
|
||||
index 3c857dcb0189..f3cddf854575 100644
|
||||
--- a/src/svsematest/svsematest.c
|
||||
+++ b/src/svsematest/svsematest.c
|
||||
@@ -416,7 +416,7 @@ static void process_options(int argc, char *argv[])
|
||||
|
||||
static int volatile mustshutdown;
|
||||
|
||||
-static void sighand(int sig __attribute__ ((unused)))
|
||||
+static void sighand(int sig)
|
||||
{
|
||||
mustshutdown = 1;
|
||||
}
|
||||
@@ -456,7 +456,8 @@ static void write_stats(FILE *f, void *data)
|
||||
fprintf(f, " }\n");
|
||||
}
|
||||
|
||||
-static void print_stat(FILE *fp __attribute__ ((unused)), struct params *receiver, struct params *sender, int verbose __attribute__ ((unused)), int quiet)
|
||||
+static void print_stat(FILE *fp, struct params *receiver, struct params *sender,
|
||||
+ int verbose, int quiet)
|
||||
{
|
||||
int i;
|
||||
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@ -1,55 +0,0 @@
|
||||
From 325b10a43bab7d1dfd0b061b40b764de649cbd64 Mon Sep 17 00:00:00 2001
|
||||
From: John Kacur <jkacur@redhat.com>
|
||||
Date: Thu, 10 Apr 2025 12:59:29 -0400
|
||||
Subject: [PATCH] Revert "Fix rt-tests build with glibc-2.41"
|
||||
|
||||
This reverts commit d3a23a0cc76789c3083df3bad78982cd49bc4c5e.
|
||||
|
||||
When people backport the feature into earlier versions of glibc, then
|
||||
the patches fails.
|
||||
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
src/include/rt-sched.h | 2 --
|
||||
src/lib/rt-sched.c | 2 --
|
||||
2 files changed, 4 deletions(-)
|
||||
|
||||
diff --git a/src/include/rt-sched.h b/src/include/rt-sched.h
|
||||
index dfd7f45..80171c7 100644
|
||||
--- a/src/include/rt-sched.h
|
||||
+++ b/src/include/rt-sched.h
|
||||
@@ -42,7 +42,6 @@
|
||||
#define __NR_sched_getattr 275
|
||||
#endif
|
||||
|
||||
-#if ! __GLIBC_PREREQ(2, 41)
|
||||
struct sched_attr {
|
||||
uint32_t size;
|
||||
uint32_t sched_policy;
|
||||
@@ -68,6 +67,5 @@ 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 2500abd..8023bc7 100644
|
||||
--- a/src/lib/rt-sched.c
|
||||
+++ b/src/lib/rt-sched.c
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
#include "rt-sched.h"
|
||||
|
||||
-#if ! __GLIBC_PREREQ(2, 41)
|
||||
int sched_setattr(pid_t pid,
|
||||
const struct sched_attr *attr,
|
||||
unsigned int flags)
|
||||
@@ -29,4 +28,3 @@ int sched_getattr(pid_t pid,
|
||||
{
|
||||
return syscall(__NR_sched_getattr, pid, attr, size, flags);
|
||||
}
|
||||
-#endif
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@ -1,35 +0,0 @@
|
||||
From 0a5eb38592c13d0e0f641a823df6d4f7debe5644 Mon Sep 17 00:00:00 2001
|
||||
From: Crystal Wood <crwood@redhat.com>
|
||||
Date: Tue, 7 Jan 2025 17:02:27 -0500
|
||||
Subject: [PATCH 1/5] rt-tests: Turn off -Wunused-parameter
|
||||
|
||||
-Wunused-parameter (part of -Wextra) is an obnoxious warning as it flags
|
||||
perfectly reasonable code that takes unneeded parameters in order to
|
||||
comply with a function pointer interface, or where the parameter is used
|
||||
only by code inside an ifdef, etc. This results in numerous annotations
|
||||
just to shut the compiler up, all for a warning that has relatively
|
||||
little value even in cases where it's not a false positive (where it's
|
||||
just an indication that cleanup is warranted).
|
||||
|
||||
Signed-off-by: Crystal Wood <crwood@redhat.com>
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 0fa0928bbca7..dda29c3f5b85 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -33,7 +33,7 @@ prefix ?= /usr/local
|
||||
bindir ?= $(prefix)/bin
|
||||
mandir ?= $(prefix)/share/man
|
||||
|
||||
-CFLAGS ?= -Wall -Wno-nonnull -Wextra -Wno-sign-compare
|
||||
+CFLAGS ?= -Wall -Wno-nonnull -Wextra -Wno-sign-compare -Wno-unused-parameter
|
||||
CPPFLAGS += -D_GNU_SOURCE -Isrc/include
|
||||
LDFLAGS ?=
|
||||
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@ -1,81 +0,0 @@
|
||||
From eea8da1647c3f7d26f3aae607475266112ab79b1 Mon Sep 17 00:00:00 2001
|
||||
From: Shizhao Chen <shichen@redhat.com>
|
||||
Date: Fri, 24 Jan 2025 15:51:57 +0800
|
||||
Subject: [PATCH 4/5] rt-tests: pip_stress: Add option --usleep
|
||||
|
||||
Different hardwares have different threasholds for usleep_val to
|
||||
reliably trigger an prio inversion, add option --usleep to allow
|
||||
specifying it at runtime, to facilitate testing of prio inheritance
|
||||
on different platforms.
|
||||
|
||||
Signed-off-by: Shizhao Chen <shichen@redhat.com>
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
src/pi_tests/pip_stress.8 | 6 +++++-
|
||||
src/pi_tests/pip_stress.c | 10 ++++++++--
|
||||
2 files changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/pi_tests/pip_stress.8 b/src/pi_tests/pip_stress.8
|
||||
index 0d06dd2215f8..0f65ad1c107b 100644
|
||||
--- a/src/pi_tests/pip_stress.8
|
||||
+++ b/src/pi_tests/pip_stress.8
|
||||
@@ -5,7 +5,8 @@
|
||||
.B pip_stress \- Priority Inheritance with processes
|
||||
.SH SYNOPSIS
|
||||
.B pip_stress
|
||||
-
|
||||
+.RB [ \-u|\-\-usleep
|
||||
+.IR TIME ]
|
||||
.SH DESCRIPTION
|
||||
This program demonstrates the technique of using priority inheritance (PI)
|
||||
mutexes with processes instead of threads.
|
||||
@@ -41,6 +42,9 @@ merely increase the time that the low priority process sleeps while
|
||||
holding the lock. (usleep);
|
||||
Also note that you have to run as a user with permission to change
|
||||
scheduling priorities.
|
||||
+.SH OPTIONS
|
||||
+.IP "\-u TIME,\-\-usleep=TIME"
|
||||
+Specify the sleep time in usec of the low priority process. Defaults to 500.
|
||||
.BR
|
||||
.SH AUTHOR
|
||||
pip_stress was written by John Kacur <jkacur at redhat.com>
|
||||
diff --git a/src/pi_tests/pip_stress.c b/src/pi_tests/pip_stress.c
|
||||
index fb0391bfec0d..9bd225fb155c 100644
|
||||
--- a/src/pi_tests/pip_stress.c
|
||||
+++ b/src/pi_tests/pip_stress.c
|
||||
@@ -72,7 +72,9 @@ static void usage(int error)
|
||||
printf("pip_stress V %1.2f\n", VERSION);
|
||||
printf("Usage:\n"
|
||||
"pip_stress <options>\n"\
|
||||
- "-h --help Show this help menu.\n"
|
||||
+ "-h --help Show this help menu.\n"\
|
||||
+ "-u TIME --usleep=TIME Specify the sleep time in usec of the low priority process.\n"\
|
||||
+ " Defaults to 500.\n"
|
||||
);
|
||||
exit(error);
|
||||
}
|
||||
@@ -88,16 +90,20 @@ int main(int argc, char *argv[])
|
||||
for (;;) {
|
||||
struct option long_options[] = {
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
+ { "usleep", required_argument, NULL, 'u' },
|
||||
{ NULL, 0, NULL, 0 },
|
||||
};
|
||||
|
||||
- int c = getopt_long(argc, argv, "s:h", long_options, NULL);
|
||||
+ int c = getopt_long(argc, argv, "hu:", long_options, NULL);
|
||||
if (c == -1)
|
||||
break;
|
||||
switch (c) {
|
||||
case 'h':
|
||||
usage(0);
|
||||
break;
|
||||
+ case 'u':
|
||||
+ usleep_val = strtoul(optarg, NULL, 10);
|
||||
+ break;
|
||||
default:
|
||||
usage(1);
|
||||
break;
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Name: realtime-tests
|
||||
Summary: Programs that test various rt-features
|
||||
Version: 2.8
|
||||
Release: 6%{?dist}
|
||||
Version: 2.9
|
||||
Release: 1%{?dist}
|
||||
License: GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.1-or-later
|
||||
URL: https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
|
||||
Source0: https://www.kernel.org/pub/linux/utils/rt-tests/rt-tests-%{version}.tar.xz
|
||||
@ -18,15 +18,6 @@ BuildRequires: kernel-tools-libs-devel
|
||||
Requires: bash
|
||||
Requires: bc
|
||||
|
||||
Patch1: 0001-rt-tests-Put-variables-in-test-feature-in-quotes.patch
|
||||
Patch2: 0002-rt-tests-Handle-lcpupower-flag-outside-LDFLAGS.patch
|
||||
Patch3: Turn-off-Wunused-parameter.patch
|
||||
Patch4: Enable-Werror.patch
|
||||
Patch5: Remove-unused-parameter-annotations.patch
|
||||
Patch6: pip_stress-Add-option-usleep.patch
|
||||
Patch7: Fix-rt-tests-build-with-glibc-2.41.patch
|
||||
Patch8: Revert-Fix-rt-tests-build-with-glibc-2.41.patch
|
||||
Patch9: sched_attr-Do-not-define-for-glibc-2.41.patch
|
||||
%description
|
||||
realtime-tests is a set of programs that test and measure various components of
|
||||
real-time kernel behavior. This package measures timer, signal, and hardware
|
||||
@ -84,6 +75,12 @@ latency. It also tests the functioning of priority-inheritance mutexes.
|
||||
%{_mandir}/man8/determine_maximum_mpps.8.*
|
||||
|
||||
%changelog
|
||||
* Thu Jul 10 2025 Tyonnchie Berry <tyberry@redhat.com> - 2.9-1
|
||||
- Rebased to latest upstream version
|
||||
- Dropped previously applied patches
|
||||
- Cleaned up spec file
|
||||
Resolves: RHEL-86705
|
||||
|
||||
* Fri Jun 27 2025 John Kacur <jkacur@redhat.com> - 2.8-6
|
||||
- Bump the release number
|
||||
Resolves: RHEL-88470
|
||||
|
||||
@ -1,47 +0,0 @@
|
||||
From 30644eae4467b5a2de42b760403e2150683aff08 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 28 Jan 2025 15:08:38 -0800
|
||||
Subject: [PATCH] sched_attr: Do not define for glibc >= 2.41
|
||||
|
||||
glibc 2.41+ has added [1] definitions for sched_setattr and sched_getattr functions
|
||||
and struct sched_attr. Therefore, it needs to be checked for here as well before
|
||||
defining sched_attr
|
||||
|
||||
Define sched_attr conditionally on SCHED_ATTR_SIZE_VER0
|
||||
|
||||
Fixes builds with glibc/trunk
|
||||
|
||||
[1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=21571ca0d70302909cf72707b2a7736cf12190a0;hp=298bc488fdc047da37482f4003023cb9adef78f8
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Cc: Clark Williams <williams@redhat.com>
|
||||
Cc: John Kacur <jkacur@redhat.com>
|
||||
Cc: rt-users <linux-rt-users@vger.kernel.org>
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
src/include/rt-sched.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/include/rt-sched.h b/src/include/rt-sched.h
|
||||
index 80171c7..9cf0e3a 100644
|
||||
--- a/src/include/rt-sched.h
|
||||
+++ b/src/include/rt-sched.h
|
||||
@@ -42,6 +42,8 @@
|
||||
#define __NR_sched_getattr 275
|
||||
#endif
|
||||
|
||||
+/* sched_attr is not defined in glibc < 2.41 */
|
||||
+#ifndef SCHED_ATTR_SIZE_VER0
|
||||
struct sched_attr {
|
||||
uint32_t size;
|
||||
uint32_t sched_policy;
|
||||
@@ -68,4 +70,6 @@ int sched_getattr(pid_t pid,
|
||||
unsigned int size,
|
||||
unsigned int flags);
|
||||
|
||||
+#endif /* SCHED_ATTR_SIZE_VER0 */
|
||||
+
|
||||
#endif /* __RT_SCHED_H__ */
|
||||
--
|
||||
2.49.0
|
||||
|
||||
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (rt-tests-2.8.tar.xz) = 2e33bb120ed1612d764a96a3afe2308fa21ae2cfc5f0e71a4503b6d5999d6f7ec3def74e164d3c596ee2888c379e54dd17b2908cf6a7f2dc3c20a7670160205a
|
||||
SHA512 (rt-tests-2.9.tar.xz) = 7e7fe2bc8833891900c9c29ad1e0b188003bcdbd40aeb2412153fef3d5f2157a8a3964d46060e9e12ffc200e66dcfb55f78b8df3163ed33116e9b834e4f3113f
|
||||
|
||||
Loading…
Reference in New Issue
Block a user