import rt-tests-1.9-2.el8

This commit is contained in:
CentOS Sources 2020-12-12 06:11:59 +00:00 committed by Andrew Lukoshko
parent c247aef2b8
commit b54181fbbe
5 changed files with 427 additions and 21 deletions

View File

@ -0,0 +1,48 @@
From f1d4b4324f7e81fc9779be5659a400daf307116a Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
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 <jkacur@redhat.com>
---
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

View File

@ -0,0 +1,192 @@
From ed5045179836f32b60e5092c123e6f47da27beba Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
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 <jkacur@redhat.com>
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

View File

@ -0,0 +1,93 @@
From 009954ca6542c83c39fbb87b0cebf778d89cf79f Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
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 <jkacur@redhat.com>
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 <n> 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 <mtosatti@redhat.com>
+.PP
+This man page was written by John Kacur <jkacur@redhat.com>
--
2.26.2

View File

@ -0,0 +1,57 @@
From a6114da09c475c0083fe3a681e79ba2c05d08848 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
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 <jkacur@redhat.com>
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 <mtosatti@redhat.com>
-
-mhz=$(grep "cpu MHz" /proc/cpuinfo | cut -f 3 -d " " | sort -rn | head -n1)
-echo "$mhz"
--
2.26.2

View File

@ -6,7 +6,7 @@ Name: rt-tests
# Numa argument to make: NUMA=1 # Numa argument to make: NUMA=1
# #
Version: 1.9 Version: 1.9
Release: 1%{?dist} Release: 2%{?dist}
License: GPLv2 License: GPLv2
Group: Development/Tools Group: Development/Tools
URL: git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git URL: git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
@ -21,6 +21,11 @@ BuildRequires: python3-devel
Requires: bash bc Requires: bash bc
#Patches #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 %description
rt-tests is a set of programs that test and measure various components of rt-tests is a set of programs that test and measure various components of
@ -29,6 +34,10 @@ latency. It also tests the functioning of priority-inheritance mutexes.
%prep %prep
%setup -q -n %{name}-%{version} %setup -q -n %{name}-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build %build
%set_build_flags %set_build_flags
@ -59,31 +68,38 @@ rm -rf ${build_root}
%{_bindir}/ssdd %{_bindir}/ssdd
%{_bindir}/oslat %{_bindir}/oslat
%{_bindir}/determine_maximum_mpps.sh %{_bindir}/determine_maximum_mpps.sh
%{_bindir}/get_cpuinfo_mhz.sh
%{_bindir}/get_cyclictest_snapshot %{_bindir}/get_cyclictest_snapshot
%{python3_sitelib}/get_cyclictest_snapshot.py* %{python3_sitelib}/get_cyclictest_snapshot.py*
%{python3_sitelib}/__pycache__/get_cyclictest_snapshot* %{python3_sitelib}/__pycache__/get_cyclictest_snapshot*
%doc %doc
%{_mandir}/man8/cyclictest.8.gz %{_mandir}/man8/cyclictest.8.*
%{_mandir}/man8/hackbench.8.gz %{_mandir}/man8/hackbench.8.*
%{_mandir}/man8/hwlatdetect.8.gz %{_mandir}/man8/hwlatdetect.8.*
%{_mandir}/man8/pi_stress.8.gz %{_mandir}/man8/pi_stress.8.*
%{_mandir}/man8/pmqtest.8.gz %{_mandir}/man8/pmqtest.8.*
%{_mandir}/man8/ptsematest.8.gz %{_mandir}/man8/ptsematest.8.*
%{_mandir}/man8/rt-migrate-test.8.gz %{_mandir}/man8/rt-migrate-test.8.*
%{_mandir}/man8/signaltest.8.gz %{_mandir}/man8/signaltest.8.*
%{_mandir}/man8/sigwaittest.8.gz %{_mandir}/man8/sigwaittest.8.*
%{_mandir}/man8/svsematest.8.gz %{_mandir}/man8/svsematest.8.*
%{_mandir}/man8/pip_stress.8.gz %{_mandir}/man8/pip_stress.8.*
%{_mandir}/man8/queuelat.8.gz %{_mandir}/man8/queuelat.8.*
%{_mandir}/man8/deadline_test.8.gz %{_mandir}/man8/deadline_test.8.*
%{_mandir}/man8/cyclicdeadline.8.gz %{_mandir}/man8/cyclicdeadline.8.*
%{_mandir}/man8/ssdd.8.gz %{_mandir}/man8/ssdd.8.*
%{_mandir}/man8/oslat.8.gz %{_mandir}/man8/oslat.8.*
%{_mandir}/man8/get_cyclictest_snapshot.8.gz %{_mandir}/man8/get_cyclictest_snapshot.8.*
%{_mandir}/man8/determine_maximum_mpps.8.*
%changelog %changelog
*Tue Nov 24 2020 John Kacur <jkacur@redhat.com> - 1.9-1 * Wed Dec 09 2020 John Kacur <jkacur@redhat.com> - 1.9-2
- Don't compress manpages by default in the makefile
- Add a menu to determine_maximum_mpps.sh
- Add determine_maximum_mmps.8 manpage
- Remove get_cpuinfo_mhz.sh and old Makefile in queuelat dir
Resolves: rhbz#1906104
* Tue Nov 24 2020 John Kacur <jkacur@redhat.com> - 1.9-1
- Update to upstream rt-tests-1.9 - Update to upstream rt-tests-1.9
- Add BuildRequires for gcc - Add BuildRequires for gcc
- use set_build_flags - use set_build_flags
@ -699,7 +715,7 @@ Sebastian Andrzej Siewior (1):
* Tue Mar 16 2010 Clark Williams <williams@redhat.com> - 0.67-1 * Tue Mar 16 2010 Clark Williams <williams@redhat.com> - 0.67-1
- modified specfile to add hackbench - modified specfile to add hackbench
- modified internal ftrace logic for correct tracing - modified internal ftrace logic for correct tracing
- Changed rpm %description field to be more descriptive (BZ# 572323) - Changed rpm %%description field to be more descriptive (BZ# 572323)
- from Carsten Emde <c.emde@osadl.org> - from Carsten Emde <c.emde@osadl.org>
- added smp option to svsematest - added smp option to svsematest
- fixed policy display in cyclictest - fixed policy display in cyclictest