diff --git a/.gitignore b/.gitignore index 87f4c0e..3625245 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /rt-tests-1.9.tar.xz +/rt-tests-2.2.tar.xz diff --git a/realtime-tests.spec b/realtime-tests.spec index 07a002a..ed717f0 100644 --- a/realtime-tests.spec +++ b/realtime-tests.spec @@ -1,17 +1,12 @@ -Summary: Programs that test various rt-features Name: realtime-tests -# These will be setup by the "make rpm" logic -# Version: 1.0 -# BuildRequires: numactl-devel -# Numa argument to make: NUMA=1 -# -Version: 1.9 -Release: 11%{?dist} +Summary: Programs that test various rt-features +Version: 2.2 +Release: 1%{?dist} License: GPLv2 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 -ExcludeArch: s390 s390x armv7hl ppc64 ppc64le aarch64 +ExcludeArch: %{arm} BuildRequires: make BuildRequires: gcc BuildRequires: numactl-devel @@ -19,23 +14,13 @@ BuildRequires: python3-devel Requires: bash Requires: bc -#Patches -Patch1: rt-tests-Don-t-compress-man-pages-by-default.patch -Patch2: rt-tests-determine_maximum_mpps.sh-Add-a-menu-to-get-user-settings.patch -Patch3: rt-tests-queuelat-Remove-get_cpuinfo_mhz.sh-and-old-Makefile.patch -Patch4: rt-tests-queuelat-Add-a-manpage-for-determine_maximum_mpps.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 latency. It also tests the functioning of priority-inheritance mutexes. %prep -%setup -q -n rt-tests-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 +%autosetup -p1 -n rt-tests-%{version} %build %set_build_flags @@ -86,6 +71,9 @@ latency. It also tests the functioning of priority-inheritance mutexes. %{_mandir}/man8/determine_maximum_mpps.8.* %changelog +* Tue Oct 26 2021 Peter Robinson - 2.2-1 +- Update to 2.2 + * Fri Jul 23 2021 Fedora Release Engineering - 1.9-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/rt-tests-Don-t-compress-man-pages-by-default.patch b/rt-tests-Don-t-compress-man-pages-by-default.patch deleted file mode 100644 index 812162d..0000000 --- a/rt-tests-Don-t-compress-man-pages-by-default.patch +++ /dev/null @@ -1,48 +0,0 @@ -From f1d4b4324f7e81fc9779be5659a400daf307116a Mon Sep 17 00:00:00 2001 -From: John Kacur -Date: Sat, 21 Nov 2020 00:09:50 -0500 -Subject: [PATCH] rt-tests: Don't compress man pages by default - -This patch changes the default behavior of the Makefile to install -man pages without compression. This allows distribution build systems to -use the kind of compression they wish to use without the Makefile -getting in the way. - -It is still possible to compress the man pages using the Makefile, for -example - -make MAN_COMPRESSION=gzip - -or - -make MAN_OMPRESSION=bzip2 - -Signed-off-by: John Kacur ---- - Makefile | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index c3ebbd7b2a2e..202067493123 100644 ---- a/Makefile -+++ b/Makefile -@@ -49,14 +49,13 @@ MANPAGES = src/cyclictest/cyclictest.8 \ - src/sched_deadline/deadline_test.8 \ - src/ssdd/ssdd.8 \ - src/sched_deadline/cyclicdeadline.8 \ -- src/cyclictest/get_cyclictest_snapshot.8 \ - src/oslat/oslat.8 - - ifdef PYLIB -- MANPAGES += src/hwlatdetect/hwlatdetect.8 -+ MANPAGES += src/cyclictest/get_cyclictest_snapshot.8 \ -+ src/hwlatdetect/hwlatdetect.8 - endif - --MAN_COMPRESSION ?= gzip - ifeq ($(MAN_COMPRESSION),gzip) - MANPAGES := $(MANPAGES:.8=.8.gz) - else ifeq ($(MAN_COMPRESSION),bzip2) --- -2.26.2 - diff --git a/rt-tests-determine_maximum_mpps.sh-Add-a-menu-to-get-user-settings.patch b/rt-tests-determine_maximum_mpps.sh-Add-a-menu-to-get-user-settings.patch deleted file mode 100644 index a239546..0000000 --- a/rt-tests-determine_maximum_mpps.sh-Add-a-menu-to-get-user-settings.patch +++ /dev/null @@ -1,192 +0,0 @@ -From ed5045179836f32b60e5092c123e6f47da27beba Mon Sep 17 00:00:00 2001 -From: John Kacur -Date: Wed, 9 Dec 2020 12:11:44 -0500 -Subject: [PATCH 1/3] rt-tests: determine_maximum_mpps.sh: Add a menu to get - user settings. - -Incorporate the functionality of the get_cpuinfo_mhz.sh script into -determine_maximum_mpps.sh so that get_cpuinfo_mhz.sh can be removed. - -Currently determine_maximum_mpps.sh (part of queuelat) asks the user -to edit the PREAMBLE in the script to set the environment. - -Get rid of this by creating a menu that allows the user the set these -variables from a menu when running the script. - -Here is the output from running the script with the -h option - -./src/queuelat/determine_maximum_mpps.sh -h -Usage: -determine_maximum_mpps.sh [OPTIONS] - --c cpulist - List of processors to run on. The default is processor 0 - Numbers are separated by commas and may include ranges. Eg. 0,3,7-11 --m maxlat - maximum latency in nanoseconds. The default is 20000 - if the maximum is exceeded, that run of queuelat quits --n cycles - Estimated number of cycles it takes to process one packet - The default is 300 --f - Set the scheduling policy to SCHED_FIFO. - This is the default if not specified --r - Set the scheduling policy to SCHED_RR. --p priority - default priority = 1. Valid numbers are from 1 to 99 --h - help - print this help message and exit - -Signed-off-by: John Kacur - -diff --git a/src/queuelat/determine_maximum_mpps.sh b/src/queuelat/determine_maximum_mpps.sh -index f785147f1bbd..fdede472728c 100755 ---- a/src/queuelat/determine_maximum_mpps.sh -+++ b/src/queuelat/determine_maximum_mpps.sh -@@ -6,12 +6,84 @@ - # A script to determine the maximum mpps. Logic: - # Increase mpps in 0.5 units - # --# NOTE: please set "PREAMBLE" to the command line you use for --# --PREAMBLE="taskset -c 2 chrt -f 1" - MAXLAT="20000" - CYCLES_PER_PACKET="300" - OUTFILE=/usr/tmp/outfile -+PRIO=1 -+CPULIST=0 -+SCHED="" -+ -+usage() -+{ -+ echo "Usage:" -+ echo "$(basename $0) [OPTIONS]" -+ echo -+ echo "-c cpulist" -+ echo " List of processors to run on. The default is processor 0" -+ echo " Numbers are separated by commas and may include ranges. Eg. 0,3,7-11" -+ echo "-m maxlat" -+ echo " maximum latency in nanoseconds. The default is 20000" -+ echo " if the maximum is exceeded, that run of queuelat quits" -+ echo "-n cycles" -+ echo " Estimated number of cycles it takes to process one packet" -+ echo " The default is 300" -+ echo "-f" -+ echo " Set the scheduling policy to SCHED_FIFO." -+ echo " This is the default if not specified" -+ echo "-r" -+ echo " Set the scheduling policy to SCHED_RR". -+ echo "-p priority" -+ echo " default priority = 1. Valid numbers are from 1 to 99" -+ echo "-h" -+ echo " help" -+ echo " print this help message and exit" -+ exit -+} -+ -+get_cpuinfo_mhz() -+{ -+ grep "cpu MHz" /proc/cpuinfo | cut -f 3 -d " " | sort -rn | head -n1 -+} -+ -+# Check that the scheduling policy hasn't already been set -+# Exit with an error message if it has -+check_sched() -+{ -+ if [ "${SCHED}" != "" ]; then -+ echo "Specify -f or -r, but not both" -+ usage -+ fi -+} -+ -+# Process command line options -+while getopts ":c:frp:m:n:h" opt; do -+ case ${opt} in -+ c ) CPULIST="${OPTARG}" ;; -+ m ) MAXLAT="${OPTARG}" ;; -+ n ) CYCLES_PER_PACKET="${OPTARG}" ;; -+ f ) check_sched; SCHED="-f" ;; -+ r ) check_sched; SCHED="-r" ;; -+ p ) PRIO="${OPTARG}" ;; -+ h ) usage ;; -+ * ) echo "no such option"; usage ;; -+ esac -+done -+ -+shift $((OPTIND -1 )) -+ -+# If the user hasn't specified a scheduling policy -+# then set it to the default SCHED_FIFO -+if [ "${SCHED}" == "" ]; then -+ SCHED="-f" -+fi -+ -+# Error checking that the user entered a priority between 1 and 99 -+if [[ "${PRIO}" -lt "1" ]] || [[ "${PRIO}" -gt "99" ]]; then -+ echo "PRIO must be a number between 1 and 99" -+ usage -+fi -+ -+PREAMBLE="taskset -c ${CPULIST} chrt ${SCHED} ${PRIO}" - - echo "Determining maximum mpps the machine can handle" - echo "Will take a few minutes to determine mpps value" -@@ -21,7 +93,7 @@ for mpps in $(seq 3 3 50); do - echo testing "$mpps" Mpps - - OUTFILE=$(mktemp) -- $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(sh get_cpuinfo_mhz.sh)" -p "$mpps" -t 30 > "$OUTFILE" -+ $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(get_cpuinfo_mhz)" -p "$mpps" -t 30 > "$OUTFILE" - - exceeded=$(grep exceeded "$OUTFILE") - if [ ! -z "$exceeded" ]; then -@@ -37,7 +109,7 @@ for mpps in $(seq $first_mpps -1 3); do - echo testing "$mpps" Mpps - - OUTFILE=$(mktemp) -- $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(sh get_cpuinfo_mhz.sh)" -p "$mpps" -t 30 > "$OUTFILE" -+ $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(get_cpuinfo_mhz)" -p "$mpps" -t 30 > "$OUTFILE" - - exceeded=$(grep exceeded "$OUTFILE") - if [ -z "$exceeded" ]; then -@@ -54,7 +126,7 @@ for mpps in $(seq "$second_mpps" 0.3 $first_mpps); do - echo testing "$mpps" Mpps - - OUTFILE=$(mktemp) -- $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(sh get_cpuinfo_mhz.sh)" -p "$mpps" -t 30 > "$OUTFILE" -+ $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(get_cpuinfo_mhz)" -p "$mpps" -t 30 > "$OUTFILE" - - exceeded=$(grep exceeded "$OUTFILE") - if [ ! -z "$exceeded" ]; then -@@ -71,7 +143,7 @@ for mpps in $(seq "$third_mpps" -0.1 3); do - echo testing "$mpps" Mpps - - OUTFILE=$(mktemp) -- $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(sh get_cpuinfo_mhz.sh)" -p "$mpps" -t 30 > "$OUTFILE" -+ $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(get_cpuinfo_mhz)" -p "$mpps" -t 30 > "$OUTFILE" - - exceeded=$(grep exceeded "$OUTFILE") - if [ -z "$exceeded" ]; then -@@ -90,7 +162,7 @@ while [ $queuelat_failure == 1 ]; do - echo "$mpps Mpps" - - for i in $(seq 1 10); do -- $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(get_cpuinfo_mhz.sh)" -p "$mpps" -t 30 > "$OUTFILE" -+ $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(get_cpuinfo_mhz)" -p "$mpps" -t 30 > "$OUTFILE" - exceeded=$(grep exceeded "$OUTFILE") - - if [ ! -z "$exceeded" ]; then -@@ -113,7 +185,7 @@ while [ $queuelat_failure == 1 ]; do - echo -n "Starting 10 minutes run with " - echo "$mpps Mpps" - -- $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(get_cpuinfo_mhz.sh)" -p "$mpps" -t 600 > "$OUTFILE" -+ $PREAMBLE queuelat -m $MAXLAT -c $CYCLES_PER_PACKET -f "$(get_cpuinfo_mhz)" -p "$mpps" -t 600 > "$OUTFILE" - exceeded=$(grep exceeded "$OUTFILE") - - if [ ! -z "$exceeded" ]; then --- -2.26.2 - diff --git a/rt-tests-queuelat-Add-a-manpage-for-determine_maximum_mpps.patch b/rt-tests-queuelat-Add-a-manpage-for-determine_maximum_mpps.patch deleted file mode 100644 index 6256a6a..0000000 --- a/rt-tests-queuelat-Add-a-manpage-for-determine_maximum_mpps.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 009954ca6542c83c39fbb87b0cebf778d89cf79f Mon Sep 17 00:00:00 2001 -From: John Kacur -Date: Wed, 9 Dec 2020 12:19:59 -0500 -Subject: [PATCH 3/3] rt-tests: queuelat: Add a manpage for - determine_maximum_mpps.sh - -Add a manpage for determine_maximum_mpps.sh - -Signed-off-by: John Kacur - -diff --git a/Makefile b/Makefile -index d5b14991032d..fba4546ac50a 100644 ---- a/Makefile -+++ b/Makefile -@@ -52,6 +52,7 @@ MANPAGES = src/cyclictest/cyclictest.8 \ - src/signaltest/signaltest.8 \ - src/pi_tests/pip_stress.8 \ - src/queuelat/queuelat.8 \ -+ src/queuelat/determine_maximum_mpps.8 \ - src/sched_deadline/deadline_test.8 \ - src/ssdd/ssdd.8 \ - src/sched_deadline/cyclicdeadline.8 \ -diff --git a/src/queuelat/determine_maximum_mpps.8 b/src/queuelat/determine_maximum_mpps.8 -new file mode 100644 -index 000000000000..4a28f1a4e34a ---- /dev/null -+++ b/src/queuelat/determine_maximum_mpps.8 -@@ -0,0 +1,62 @@ -+.\" Hey, EMACS: -*- nroff -*- -+.TH DETERMINE_MAXIMUM_MPPS 8 "Dec 4, 2020" -+.\" Please adjust this date whenever revising the manpage. -+.\" -+.\" Some roff macros, for reference: -+.\" .nh disable hyphenation -+.\" .hy enable hyphenation -+.\" .ad l left justify -+.\" .ad b justify to both left and right margins -+.\" .nf disable filling -+.\" .fi enable filling -+.\" .br insert line break -+.\" .sp insert n+1 empty lines -+.\" for manpage-specific macros, see man(7) -+.SH NAME -+determine_maximum_mpps \- Determine the maximum mpps the machine can handle -+.SH SYNOPSIS -+.LP -+determine_maximum_mpps [-c cpulist] [-m maxlat] [-n cycles] [-f | -r] [-p priority] [-h] -+.SH DESCRIPTION -+determine_maximum_mpps will find the maximum mpps parameter which can sustain -+.PP -+.RS -+1. 10 consecutive 30 second runs. -+.br -+2. 1 run of 10 minutes. -+.PP -+.RE -+Without violating the latency specified with $MAXLAT (default 20000) -+.PP -+.SH TERMINOLOGY -+mpps : million-packets-per-second -+.br -+.SH OPTIONS -+.TP -+.B \-c cpulist -+List of processors to run on. The default is processor 0 -+.TP -+.B \-m maxlat -+Maximum latency in nanoseconds. The default is 20000. if the maximum is exceeded, that run of queuelat quits. -+.TP -+.B \-n cycles -+Extimated number of cycles it takes to process one packet. The default is 300 -+.TP -+.B \-f -+Set the scheduling policy to SCHED_FIFO. This is the default if not specified. -+.TP -+.B \-r -+Set the scheduling policy to SCHED_RR. -+.TP -+.B \-p priority -+default priority = 1. Valid numbers are from 1 to 99 -+.TP -+.B \-h -+help -+.LP -+.SH AUTHOR -+determine_maximum_mpps was written by -+.br -+Marcelo Tosatti -+.PP -+This man page was written by John Kacur --- -2.26.2 - diff --git a/rt-tests-queuelat-Remove-get_cpuinfo_mhz.sh-and-old-Makefile.patch b/rt-tests-queuelat-Remove-get_cpuinfo_mhz.sh-and-old-Makefile.patch deleted file mode 100644 index 00e4e9e..0000000 --- a/rt-tests-queuelat-Remove-get_cpuinfo_mhz.sh-and-old-Makefile.patch +++ /dev/null @@ -1,57 +0,0 @@ -From a6114da09c475c0083fe3a681e79ba2c05d08848 Mon Sep 17 00:00:00 2001 -From: John Kacur -Date: Tue, 8 Dec 2020 13:25:53 -0500 -Subject: [PATCH 2/3] rt-tests: queuelat: Remove get_cpuinfo_mhz.sh and old - Makefile - -The functionality in get_cpuinfo_mhz.sh has been incorporated into -determine_maximum_mpps.sh, so it can safely be removed. - -The queuelat is built from the rt-tests suite Makefile, and the old -Makefile in the queuelat directory can be removed. - -Signed-off-by: John Kacur - -diff --git a/Makefile b/Makefile -index 3b38d21afb3a..d5b14991032d 100644 ---- a/Makefile -+++ b/Makefile -@@ -209,7 +209,6 @@ rebuild: - install: all install_manpages install_hwlatdetect install_get_cyclictest_snapshot - mkdir -p "$(DESTDIR)$(bindir)" - cp $(TARGETS) "$(DESTDIR)$(bindir)" -- install src/queuelat/get_cpuinfo_mhz.sh "$(DESTDIR)$(bindir)" - install src/queuelat/determine_maximum_mpps.sh "${DESTDIR}${bindir}" - - .PHONY: install_hwlatdetect -diff --git a/src/queuelat/Makefile b/src/queuelat/Makefile -deleted file mode 100644 -index b4d327829b17..000000000000 ---- a/src/queuelat/Makefile -+++ /dev/null -@@ -1,9 +0,0 @@ --queuelat: queuelat.o -- cc -o queuelat queuelat.o -- --queuelat.o: queuelat.c -- cc -c -Wall queuelat.c -- --clean: -- rm queuelat queuelat.o -- -diff --git a/src/queuelat/get_cpuinfo_mhz.sh b/src/queuelat/get_cpuinfo_mhz.sh -deleted file mode 100755 -index 14a2c12c478f..000000000000 ---- a/src/queuelat/get_cpuinfo_mhz.sh -+++ /dev/null -@@ -1,7 +0,0 @@ --#!/bin/bash -- --# SPDX-License-Identifier: GPL-2.0-or-later --# Copyright (C) 2018 Marcelo Tosatti -- --mhz=$(grep "cpu MHz" /proc/cpuinfo | cut -f 3 -d " " | sort -rn | head -n1) --echo "$mhz" --- -2.26.2 - diff --git a/sources b/sources index 435915f..271520b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rt-tests-1.9.tar.xz) = 66f086dbda31567e6dc5297424ec66b2c6bd7cb0e065c32e02c326f33967f3a301b1b34f9eb0dd0acd853279c64fb1c2bc271ac26648f4abc3f6090ba6484cfa +SHA512 (rt-tests-2.2.tar.xz) = 826dc8894dd8670e705566b5224f54bdee89e5b48f21ca00e6c4061f28c4fbe2dab14c1e1b1302fec7011dbf28f3eb88c1b8adc137fed7d17958ea972e3c08b1