diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..89518cf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/rt-tests-2.1.tar.xz diff --git a/.realtime-tests.metadata b/.realtime-tests.metadata new file mode 100644 index 0000000..106e048 --- /dev/null +++ b/.realtime-tests.metadata @@ -0,0 +1 @@ +36bdf18b18ba5a5a71ff81f102507d0b2015057d SOURCES/rt-tests-2.1.tar.xz diff --git a/SOURCES/sched_deadline-Accommodate-new-location-of-HRTICK-file.patch b/SOURCES/sched_deadline-Accommodate-new-location-of-HRTICK-file.patch new file mode 100644 index 0000000..9006d26 --- /dev/null +++ b/SOURCES/sched_deadline-Accommodate-new-location-of-HRTICK-file.patch @@ -0,0 +1,217 @@ +From 84c45a66bf077be31c9e0cf85b72896798966826 Mon Sep 17 00:00:00 2001 +From: John Kacur +Date: Thu, 22 Jul 2021 16:30:13 -0400 +Subject: [PATCH 1/2] sched_deadline: Accommodate new location of HRTICK file + in kernel + +Newer kernels rename /sys/kernel/debug/sched_features to +/sys/kernel/debug/sched/features + +Modify sched_deadline tests to look for the new file and if that fails +look for the old file name + +These functions are based on ones in stalld, and stalld itself has +functions based on the sched_deadline programs in rt-tests + +Signed-off-by: John Kacur +--- + src/sched_deadline/cyclicdeadline.c | 65 ++++++++++++++++++++++------- + src/sched_deadline/deadline_test.c | 61 +++++++++++++++++++++------ + 2 files changed, 100 insertions(+), 26 deletions(-) + +diff --git a/src/sched_deadline/cyclicdeadline.c b/src/sched_deadline/cyclicdeadline.c +index 8447424273ee..4a38ec2274c9 100644 +--- a/src/sched_deadline/cyclicdeadline.c ++++ b/src/sched_deadline/cyclicdeadline.c +@@ -230,12 +230,53 @@ found: + mark_fd = open(files, O_WRONLY); + } + ++/* ++ * Return true if file exists ++ */ ++static int check_file_exists(char *path) ++{ ++ int ret; ++ struct stat st; ++ ++ ret = !stat(path, &st); ++ ++ return ret; ++ ++} ++ ++/* ++ * Return 0 on success ++ */ ++ ++static int fill_sched_features(char *path) ++{ ++ int ret; ++ const char *debugfs; ++ ++ debugfs = find_debugfs(); ++ if (strlen(debugfs) == 0) ++ return -1; ++ ++ snprintf(path, MAX_PATH, "%s/sched/features", debugfs); ++ ret = check_file_exists(path); ++ if (ret) ++ return 0; ++ ++ snprintf(path, MAX_PATH, "%s/sched_features", debugfs); ++ ret = check_file_exists(path); ++ if (ret) ++ return 0; ++ ++ memset(path, 0, MAX_PATH); ++ ++ return ret; ++ ++} ++ + static int setup_hr_tick(void) + { +- const char *debugfs = find_debugfs(); +- char files[strlen(debugfs) + strlen("/sched_features") + 1]; ++ char path[MAX_PATH]; + char buf[500]; +- struct stat st; + static int set = 0; + char *p; + int ret; +@@ -244,27 +285,23 @@ static int setup_hr_tick(void) + + if (set) + return 1; +- + set = 1; + +- if (strlen(debugfs) == 0) +- return 0; +- +- sprintf(files, "%s/sched_features", debugfs); +- ret = stat(files, &st); +- if (ret < 0) ++ ret = fill_sched_features(path); ++ if (ret) + return 0; + +- fd = open(files, O_RDWR); +- perror(files); +- if (fd < 0) ++ fd = open(path, O_RDWR); ++ if (fd < 0) { ++ perror(path); + return 0; ++ } + + len = sizeof(buf); + + ret = read(fd, buf, len); + if (ret < 0) { +- perror(files); ++ perror(path); + close(fd); + return 0; + } +diff --git a/src/sched_deadline/deadline_test.c b/src/sched_deadline/deadline_test.c +index 395c2370f69a..c1e890319895 100644 +--- a/src/sched_deadline/deadline_test.c ++++ b/src/sched_deadline/deadline_test.c +@@ -368,6 +368,49 @@ found: + mark_fd = open(files, O_WRONLY); + } + ++/* ++ * Return true if file exists ++ */ ++static int check_file_exists(char *path) ++{ ++ int ret; ++ struct stat st; ++ ++ ret = !stat(path, &st); ++ ++ return ret; ++ ++} ++ ++/* ++ * Return 0 on success ++ */ ++ ++static int fill_sched_features(char *path) ++{ ++ int ret; ++ const char *debugfs; ++ ++ debugfs = find_debugfs(); ++ if (strlen(debugfs) == 0) ++ return -1; ++ ++ snprintf(path, MAX_PATH, "%s/sched/features", debugfs); ++ ret = check_file_exists(path); ++ if (ret) ++ return 0; ++ ++ snprintf(path, MAX_PATH, "%s/sched_features", debugfs); ++ ret = check_file_exists(path); ++ if (ret) ++ return 0; ++ ++ memset(path, 0, MAX_PATH); ++ ++ return ret; ++ ++} ++ + /** + * setup_hr_tick - Enable the HRTICK in sched_features (if available) + * +@@ -381,10 +424,8 @@ found: + */ + static int setup_hr_tick(void) + { +- const char *debugfs = find_debugfs(); +- char files[strlen(debugfs) + strlen("/sched_features") + 1]; ++ char path[MAX_PATH]; + char buf[500]; +- struct stat st; + static int set = 0; + char *p; + int ret; +@@ -396,17 +437,13 @@ static int setup_hr_tick(void) + + set = 1; + +- if (strlen(debugfs) == 0) +- return 0; +- +- sprintf(files, "%s/sched_features", debugfs); +- ret = stat(files, &st); +- if (ret < 0) ++ ret = fill_sched_features(path); ++ if (ret) + return 0; + +- fd = open(files, O_RDWR); ++ fd = open(path, O_RDWR); + if (fd < 0) { +- perror(files); ++ perror(path); + return 0; + } + +@@ -414,7 +451,7 @@ static int setup_hr_tick(void) + + ret = read(fd, buf, len); + if (ret < 0) { +- perror(files); ++ perror(path); + close(fd); + return 0; + } +-- +2.31.1 + diff --git a/SOURCES/sched_deadline-Use-HRTICK_DL-for-sched_deadline-tests.patch b/SOURCES/sched_deadline-Use-HRTICK_DL-for-sched_deadline-tests.patch new file mode 100644 index 0000000..a520672 --- /dev/null +++ b/SOURCES/sched_deadline-Use-HRTICK_DL-for-sched_deadline-tests.patch @@ -0,0 +1,125 @@ +From de3cdf92834bc600d5806f959e8d78d48f7f9775 Mon Sep 17 00:00:00 2001 +From: John Kacur +Date: Fri, 23 Jul 2021 14:52:43 -0400 +Subject: [PATCH 2/2] sched_deadline: Use HRTICK_DL for sched_deadline tests + +If the HRTICK_DL feature is available, use it for the sched_deadline +tests, otherwise fall back to HRTICK + +This code is based on changes in stalld - which in turn was based on +these sched_deadline tests + +Signed-off-by: John Kacur +--- + src/sched_deadline/cyclicdeadline.c | 27 ++++++++++++++++++++++----- + src/sched_deadline/deadline_test.c | 28 +++++++++++++++++++++++----- + 2 files changed, 45 insertions(+), 10 deletions(-) + +diff --git a/src/sched_deadline/cyclicdeadline.c b/src/sched_deadline/cyclicdeadline.c +index 4a38ec2274c9..4860a40f5e6b 100644 +--- a/src/sched_deadline/cyclicdeadline.c ++++ b/src/sched_deadline/cyclicdeadline.c +@@ -278,6 +278,7 @@ static int setup_hr_tick(void) + char path[MAX_PATH]; + char buf[500]; + static int set = 0; ++ int hrtick_dl = 0; + char *p; + int ret; + int len; +@@ -311,18 +312,34 @@ static int setup_hr_tick(void) + + ret = 1; + +- p = strstr(buf, "HRTICK"); +- if (p + 3 >= buf) { ++ p = strstr(buf, "HRTICK_DL"); ++ if (p && p - 3 >= buf) { ++ hrtick_dl = 1; + p -= 3; +- if (strncmp(p, "NO_HRTICK", 9) == 0) { +- ret = write(fd, "HRTICK", 6); +- if (ret != 6) ++ if (strncmp(p, "NO_HRTICK_DL", 12) == 0) { ++ ret = write(fd, "HRTICK_DL", 9); ++ if (ret != 9) + ret = 0; + else + ret = 1; + } + } + ++ /* Backwards compatibility for kernel that only have HRTICK */ ++ if (!hrtick_dl) { ++ p = strstr(buf, "HRTICK"); ++ if (p && p - 3 >= buf) { ++ p -=3; ++ if (strncmp(p, "NO_HRTICK", 9) == 0) { ++ ret = write(fd, "HRTICK", 6); ++ if (ret != 6) ++ ret = 0; ++ else ++ ret = 1; ++ } ++ } ++ } ++ + close(fd); + return ret; + } +diff --git a/src/sched_deadline/deadline_test.c b/src/sched_deadline/deadline_test.c +index c1e890319895..a48c231c1281 100644 +--- a/src/sched_deadline/deadline_test.c ++++ b/src/sched_deadline/deadline_test.c +@@ -427,6 +427,7 @@ static int setup_hr_tick(void) + char path[MAX_PATH]; + char buf[500]; + static int set = 0; ++ int hrtick_dl = 0; + char *p; + int ret; + int len; +@@ -461,18 +462,35 @@ static int setup_hr_tick(void) + + ret = 1; + +- p = strstr(buf, "HRTICK"); +- if (p + 3 >= buf) { ++ p = strstr(buf, "HRTICK_DL"); ++ if (p && p - 3 >= buf) { ++ hrtick_dl = 1; + p -= 3; +- if (strncmp(p, "NO_HRTICK", 9) == 0) { +- ret = write(fd, "HRTICK", 6); +- if (ret != 6) ++ if (strncmp(p, "NO_HRTICK_DL", 12) == 0) { ++ ret = write(fd, "HRTICK_DL", 9); ++ if (ret != 9) + ret = 0; + else + ret = 1; + } + } + ++ /* Backwards compatibility for kernel that only have HRTICK */ ++ if (!hrtick_dl) { ++ p = strstr(buf, "HRTICK"); ++ if (p && p - 3 >= buf) { ++ p -=3; ++ if (strncmp(p, "NO_HRTICK", 9) == 0) { ++ ret = write(fd, "HRTICK", 6); ++ if (ret != 6) ++ ret = 0; ++ else ++ ret = 1; ++ } ++ } ++ } ++ ++ + close(fd); + return ret; + } +-- +2.31.1 + diff --git a/SPECS/realtime-tests.spec b/SPECS/realtime-tests.spec new file mode 100644 index 0000000..fc1fb75 --- /dev/null +++ b/SPECS/realtime-tests.spec @@ -0,0 +1,902 @@ +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: 2.1 +Release: 3%{?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 +BuildRequires: make +BuildRequires: gcc +BuildRequires: numactl-devel +BuildRequires: python3-devel +Requires: bash +Requires: bc + +#Patches +Patch1: sched_deadline-Accommodate-new-location-of-HRTICK-file.patch +Patch2: sched_deadline-Use-HRTICK_DL-for-sched_deadline-tests.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 + +%build +%set_build_flags +%make_build + +%install +%make_install prefix=%{_prefix} + +%files +%pycached %{python3_sitelib}/hwlatdetect.py +%caps(cap_sys_rawio+ep) /usr/bin/cyclictest +%{_bindir}/pi_stress +%{_bindir}/signaltest +%{_bindir}/hwlatdetect +%{_bindir}/rt-migrate-test +%{_bindir}/pip_stress +%{_bindir}/ptsematest +%{_bindir}/sigwaittest +%{_bindir}/svsematest +%{_bindir}/pmqtest +%{_bindir}/hackbench +%{_bindir}/cyclicdeadline +%{_bindir}/deadline_test +%{_bindir}/queuelat +%{_bindir}/ssdd +%{_bindir}/oslat +%{_bindir}/determine_maximum_mpps.sh +%{_bindir}/get_cyclictest_snapshot +%pycached %{python3_sitelib}/get_cyclictest_snapshot.py +%doc +%{_mandir}/man8/cyclictest.8.* +%{_mandir}/man8/hackbench.8.* +%{_mandir}/man8/hwlatdetect.8.* +%{_mandir}/man8/pi_stress.8.* +%{_mandir}/man8/pmqtest.8.* +%{_mandir}/man8/ptsematest.8.* +%{_mandir}/man8/rt-migrate-test.8.* +%{_mandir}/man8/signaltest.8.* +%{_mandir}/man8/sigwaittest.8.* +%{_mandir}/man8/svsematest.8.* +%{_mandir}/man8/pip_stress.8.* +%{_mandir}/man8/queuelat.8.* +%{_mandir}/man8/deadline_test.8.* +%{_mandir}/man8/cyclicdeadline.8.* +%{_mandir}/man8/ssdd.8.* +%{_mandir}/man8/oslat.8.* +%{_mandir}/man8/get_cyclictest_snapshot.8.* +%{_mandir}/man8/determine_maximum_mpps.8.* + +%changelog +* Tue Aug 10 2021 Mohan Boddu - 2.1-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Jul 23 2021 John Kacur - 2.1-2 +- Take into account the rename of the sched_features file for HRTICK +- Use HRTICK_DL if available +Resolves: rhbz#1973083 + +* Wed Jun 30 2021 john Kacur - 2.1-1 +- Update to latest upstream rt-tests-2.1 +Resolves: rhbz#1890563 + +* Fri Apr 16 2021 Mohan Boddu - 1.9-10 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.9-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Dec 16 2020 John Kacur - 1.9-8 +- Use the %%pycached macro as described in the packaging-guidlines for Python + +* Fri Dec 11 2020 John Kacur - 1.9-7 +- Escape all necessary percent symbols in the changelog +- Remove some unncessary constructs in the rpm file +- The following are from upstream patches +- Add a menu to determine_maximum_mpps.sh + and incorporates get_cpuinfo_mhz.sh functionality +- remove get_cpuinfo_mhz.sh and an old oslat makefile +- Add determine_maximum_mpps.8 + +* Fri Dec 04 2020 John Kacur - 1.9-6 +- Remove ExclusiveArch but add ExcludeArch for now. + Currently rt-tests is only available on arches that implement numactl + +* Wed Nov 25 2020 John Kacur - 1.9-5 +- Use the proper upstream tarball instead of a renamed tarball + For example rt-tests-1.9.tar.xz + +* Fri Nov 20 2020 John Kacur - 1.9-4 +- Don't compress man pages by default so the build system can do so + +* Wed Nov 18 2020 John Kacur - 1.9-3 +- Fix incoherent version in changelogs by using a dash instead of dot +- Use Fedora default build flags + +* Wed Nov 11 2020 John Kacur - 1.9-2 +- Removed unncessary parts from the specfile +- Put each BuildRequires on a separate line. +- Used macros _bindir, _mandir, and _prefix + +* Tue Nov 03 2020 John Kacur - 1.9-1 +- Upgrade to v1.9 upstream +- Require gcc excplicitly as a BuildRequires + +* Thu Aug 20 2020 John Kacur - 1.8-11 +- Add SPDX license to oslat, and reformat source code to match suite +Resolves: rhbz#1870666 + +* Wed Aug 19 2020 John Kacur - 1.8-10 +- Remove undated Obsoletes from the specfile +Resolves: rhbz#1870212 + +* Wed Aug 19 2020 John Kacur - 1.8-9 +- Add the oslat program to the rt-tests suite +Resolves: rhbz#1869882 + +* Wed Jul 22 2020 John Kacur - 1.8-8 +- Change the conversion format to %%ld for the num_processors in pi_stress +Resolves: rhbz#1859397 + +* Wed Jul 22 2020 John Kacur - 1.8-7 +- Limit the number of inversion groups in pi_stress +Resolves: rhbz#1859397 + +* Mon Jul 06 2020 John Kacur - 1.8-6 +- Install new man page get_cyclictest_snapshot +Resolves: rhbz#1826777 + +* Mon Jul 06 2020 John Kacur - 1.8-5 +- get_cyclictest_snapshot: print a warning message if there are no + running cyclictest instances +Resolves: rhbz#1826783 + +* Mon Jul 06 2020 John Kacur - 1.8-4 +- Add a get_cyclictest_snapshot man page and various small fixes +Resolves: rhbz#1826777 + +* Tue May 12 2020 John Kacur - 1.8-3 +- Fix integer overflow in queuelat +Resolves: rhbz#1803862 + +* Mon May 04 2020 John Kacur - 1.8-2 +- Fix setaffinity error on large numa machines +Resolves: rhbz#1831269 + +* Mon Apr 20 2020 John Kacur - 1.8-1 +- Update to upstream rt-tests-1.8 +Resolves: rhbz#1816370 + +* Thu Jan 23 2020 John Kacur - 1.5-18 +- Add a man page for cyclicdeadline +- Sync cyclictest man page with the help option +- Sync pi_stress man page with the help option +- Add pi_stress short options to usage message +- Add -S --smp to svsematest man page +- Update ptsematest man page and add -h option +- queuelat man page and help fixes +- display svsematest help without an error message +Resolves: rhbz#1766656 + +* Fri Jan 17 2020 John Kacur - 1.5-17 +- Fix more quoting problems to prevent work splitting +- get_cpuinfo_mhz.sh should print one value +Resolves: rhbz#1719493 + +* Wed Jan 15 2020 John Kacur - 1.5-16 +- Fix hardcoded path to queuelat in determine_maximum_mpps.sh +Resolves: rhbz#1791403 + +* Mon Nov 25 2019 John Kacur - 1.5-15 +- Respun Add SPDX tags patch to correct two incorrect licenes +Resolves: rhbz#1721215 + +* Mon Nov 25 2019 John Kacur - 1.5-14 +- Add SPDX tags +Resolves: rhbz#1721215 + +* Fri Nov 22 2019 John Kacur - 1.5-13 +- Improved version of getting a snapshot of cyclictest without interrupting +- Fixes some problems uncovered by covscan +Resolves: rhbz#1469185 + +* Tue Nov 19 2019 John Kacur - 1.5-12 +- Get a running snapshot of cyclictest without interrupting it +Resolves: rhbz#1469185 + +* Tue Nov 12 2019 John Kacur - 1.5-11 +- Add short and long options and help to ssdd +Resolves: rhbz#1720360 + +* Mon Nov 11 2019 John Kacur - 1.5-10 +- Fix some warnings in determine_maximum_mpps.sh +Resolves: rhbz#1719493 + +* Wed Oct 30 2019 John Kacur - 1.5-9 +-Use libnuma version 2 by default +Resolves: rhbz#1753758 + +* Wed Oct 30 2019 John Kacur - 1.5-8 +- Don't allow OPT_SYSTEM with OPT_POSIX_TIMERS +Resolves: rhbz#1753026 + +* Wed Oct 30 2019 John Kacur - 1.5-7 +- Set affinity before applying numa +Resolves: rhbz#1749958 + +* Tue Oct 29 2019 John Kacur - 1.5-6 +- Increase buffers to avoid overflow +Resolves: rhbz#1753317 + +* Fri Oct 25 2019 John Kacur - 1.5-5 +- Remove invalid / obsolete tracing options from cyclictest manpage +Resolves: rhbz#1749238 + +* Fri Oct 25 2019 John Kacur - 1.5-4 +- Make tracemark work correctly again +Resolves: rhbz#1725134 + +* Wed Oct 23 2019 John Kacur - 1.5-3 +- Add Requires bc for queuelat +Resolves: rhbz#1764290 + +* Tue Oct 15 2019 John Kacur - 1.5-2 +- Add bash as a Require in the spec file, since the suite contains some scripts +Resolves: rhbz#1744983 + +* Tue Oct 15 2019 John Kacur - 1.5-1 +- Rebase to upstream rt-tests-1.5 +Resolves: rhbz#1722521 + +* Wed Jul 31 2019 John Kacur - 1.3-21 +- Fix problem when tests use tracing_enabled which is no longer supported +Resolves: rhbz#1731336 + +* Fri Jun 14 2019 John Kacur - 1.3-20 +- Add a manpage for ssdd +Resolves: rhbz#1718735 + +* Fri May 10 2019 John Kacur - 1.3-19 +- Disable/enable c-state transitions during hwlatdetect run +Resolves: rhbz#1707505 + +* Tue May 07 2019 John Kacur - 1.3-18 +- Install queuelat scripts +Resolves: rhbz#1686494 + +* Thu Apr 25 2019 John Kacur - 1.3-17 +- Add ssdd test to the rt-tests suite +Resolves: rhbz#1666351 + +* Thu Mar 28 2019 John Kacur - 1.3-16 +- cyclictest-Make-sure-affinity-is-respected-when-numa.patch +- cyclictest-Fix-compiler-warning-about-srncpy-output.patch +- cyclictest-fix_with_expected_identifier_in_latest.patch +Resolves: rhbz#1596857 + +* Tue Jan 08 2019 John Kacur - 1.3-13 +- queuelat: use mfence for rdtsc ordering +Resolves: rhbz#1663865 + +* Thu Nov 15 2018 John Kacur - 1.3-12 +- Add NULL check before freeing setcpu_buf +Resolves: rhbz#1641971 + +* Tue Nov 06 2018 John Kacur - 1.3-11 +- Fix the spec file to remove debuginfo from the standard queuelat files +Resolves: rhbz#1641978 + +* Mon Nov 05 2018 John Kacur - 1.3-10 +- Remove numa from help since it is invokved automatically +Resolves: rhbz#1646121 + +* Fri Nov 02 2018 John Kacur - 1.3-9 +- Add a manpage for deadline_test +Resolves: rhbz#1645071 + +* Mon Oct 08 2018 John Kacur - 1.3-8 +- Remove backfire and sendme +Resolves: rhbz#1624885 + +* Fri Sep 28 2018 John Kacur - 1.3-7 +- Change python3 to platform-python +Resolves: rhbz#1633607 + +* Mon Sep 17 2018 John Kacur - 1.3-6 +- rt-tests-pi_stress-remove-unused-report-options.patch +- rt-tests-pip_stress-Add-an-initial-man-page-for-pip_stress.patch +- add-h-option-to-queuelat.patch +- Add-queuelat-manpage.patch +- Modify makefile for queuelat.8 and pip_stress.8 +Resolves: rhbz#1614783 + +* Fri Jun 22 2018 John Kacur - 1.3-5 +- Reimplement the removal of --numa, and automate it's detction +Resolves: rhbz#1594273 + +* Tue Jun 12 2018 John Kacur - 1.3-4 +- A few more python3 changes + +* Wed May 30 2018 John Kacur - 1.3-3 +- Add patches that remove --sma and --numa and automate it +Resolves: rhbz#1518708 + +* Wed May 30 2018 John Kacur - 1.3-2 +- cyclictest: remove tracing, in favour of external tracing +Resolves: rhbz#1518268 + +* Mon Apr 30 2018 John Kacur - 1.3-1 +- New build +- Add test queuelat +- Adds changes for python3 in hwlatdetect +Resolves: rhbz#1543030 +Resolves: rhbz#1559520 + +* Tue Mar 27 2018 John Kacur - 1.2-1 +- Remove old patches from the source files +Resolves: rhbz#1559930 + +* Mon Mar 26 2018 John Kacur - 1.2-0 +- Initial Build for 8.0 +Resolves: rhbz#1559930 + +* Wed Dec 20 2017 John Kacur - 1.0.13 +- rt-tests-Need-to-generate-debug-info-for-rpms.patch +Resolves: rhbz#1523752 + +* Thu Nov 02 2017 John Kacur - 1.0.12 +- cyclictest: cannot stop when running with -M option +Resolves: rhbz#1473786 + +* Tue Apr 25 2017 John Kacur - 1.0.11 +- cyclictest-touch-threadstacks-on-numa-to-pre-fault-t.patch +Resolves: rhbz1445058 + +* Thu Mar 23 2017 John Kacur - 1.0.10 +- hwlatdetect: modify hwlatdetector.py to use the ftrace hwlatdetector +- hwlatdetect: removed smi_detector support +Resolves: rhbz1365961 + +* Thu Mar 23 2017 John Kacur - 1.0.9 +- hwlatdetect: Add --hardlimit to define the real test failing criteria +Resolves: rhbz1434827 + +* Thu Mar 23 2017 John Kacur - 1.0.8 +- cyclicdeadline: Fix minor spelling mistake +- cyclictest: Correct short option 's' +Resolves: rhbz1434825 + +* Tue Mar 21 2017 John Kacur - 1.0.7 +- rt-tests: hwlatdetect: Improve message if max latency is below threshold +Resolves: rhbz1366289 + +* Thu Jun 30 2016 John Kacur - 1.0-6 +- deadline_test: Made '-i' work and added help text for it +Resolves: rhbz1346771 + +* Tue Jun 28 2016 John Kacur - 1.0-5 +- z-stream release + +* Thu Jun 23 2016 John Kacur - 1.0-4 +- Add cyclicdeadline and deadline_test to rt-tests +Resolves: rhbz#1349032 + +* Fri Jun 17 2016 John Kacur - 1.0-3 +- Install cyclictest with cap_sys_rawio to access msr and cpuid registers +- Fixed url in Source0 +Resolves: rhbz#1346771 + +* Wed Jun 01 2016 John Kacur - 1.0-2 +- cyclictest: new CPUs with SMI counter support +Resolves: rhbz#1341226 + +* Fri May 20 2016 John Kacur - 1.0-1 +- Upgrade to 1.0 +Clark Williams (1): + cyclictest: stop any tracing after hitting a breaktrace threshold +John Kacur (8): + rt-tests: Makefile: Assume numa_parse_cpustring_all available + rt-tests: Add man page for rt-migrate-test + rt-tests: Update the cyclictest man page + rt-tests: Add missing option to hwlatdetect man page + rt-tests: Housekeeping fix some spelling errors. + rt-tests: hwlat.txt: smidetect renamed to hwlatdetect + rt-tests: Remove doc/release-checklist.txt + rt-tests: Makefile - bump version to 1.0 +- Add patch to install rt-migrate-test.8-man-page +Resolves: rhbz#1283264 +- The latest build also includes fixes for undocumented options in cyclictest and hwlatdetect, as well as many more documentation fixes. +Resolves: rhbz#1263718 +- Also documenting here that the new feature cyclictest: SMI count/detection via MSR/SMI counter was added in v0.97 +Resolves: rhbz#1314869 + +* Tue May 10 2016 John Kacur - 0.97-3 +- cyclictest: stop any tracing after hitting a breaktrace threshold +- Resolves: rhbz#1333762 + +* Tue Apr 26 2016 John Kacur - 0.97-2 +- Change spec file to compile with HAVE_PARSE_CPUSTRING_ALL=1 + - This makes numa_parse_cpustring_all() available which is needed for + running cyclictest on isolated cpus. +- Resolves: rhbz#1330468 + +* Mon Apr 04 2016 John Kacur - 0.97-1 +- Changes from v0.93 to v0.97 +Clark Williams (9): + hwlatdetect: initial cut at tracking the amount of SMIs that occurred + during a run + rt-migrate-test: updated to latest code from rostedt + Makefile: add target to create OBJDIR before use + specfile: add signaltest manpage to files section and remove trailing + whitespace in changelog + Makefile: have distclean remove .asc file for tarball + Makefile: fixed dropped quote in help target text + hwlatdetect: handle hwlat_detector being builtin rather than module + hwlatdetect: modify to handle python3 prints + hwlatdetect: make reading sample date work with python2 and python3 +Daniel Bristot de Oliveira (2): + cyclictest: SMI count/detection via MSR/SMI counter + cyclictest: Add --smi description on cyclictest man page +Darren Hart (2): + rt-tests: Allow for user-specified PYLIB + rt-tests: Break out install_hwlatdetect +Henrik Austad (10): + Add CROSS_COMPILE-switch to CC and AR + Add syscall-number for sched_(gs)etattr() for tile + Add a rebuild-switch to Makefile + Makefile: add librttest to rt-migrate-test + android: adjust target for android + cyclictest: move redefine of CPUSET back to uclib + Android: clean up the bypass ifdeffery + Android: rename arch from bionic to android + Android: Expand match for android in ostype + rt-sched.h: do not unconditionally define syscall-numbers +John Kacur (26): + Fix VERSION in rt-migrate-test + numa_on_and_available: Remove from main in cyclictest + Version bump to v0.94 + Explicitly separate VPATH paths with a colon + build: Generate .o, .a, and .d files in bld dir + signaltest: call process_options before calling check_privs + signaltest: Check the status of pthread_create + rt-utils: Add John Kacur to the copyright + rt-utils: Fix some checkpatch errors in rt-utils.c + signaltest: Add a man page to signaltest + Makefile: Document certain compiling options + Makefile: Only call cc -dumpmachine once in the makefile + Bionic: Move android functionality into it's own arch Makefile + maintainence: VERSION bump and Change-log update + cyclictest: Clean-ups in timerthread before working on it + Makefile: OBJDIR should be an order-only-prerequisite + Makefile: Move TARGETS back to a more logical place in the Makefile + cyclictest: Add a feature to record spikes + cyclictest: fix #ifdef broken by NO_PTHREAD_SETAFFINITY + Makefile: Version bump to v0.96 + Remove rt-tests.spec-in + gitattributes: add doc, remove rt.spec-in + Makefile: Remove anything to do with rpms, specs etc + Revert changes to rt-migrate-test for exit(1) + cyclictest: Make the tracemark option imply notrace + rt-tests: Makefile: Bump version number to 0.97 +Josh Cartwright (8): + rt-tests: workaround poor gzip implementations + hackbench: cleanup error handling in create_worker + cyclictest: consistently make all functions 'static' + cyclictest: use correct type when allocating cpu bitmask size + cyclictest: drop impossible use_fifo conditional + cyclictest: fail if use_fifo && thread creation failed + error: mark fatal, err_exit, err_quit as being noreturn + cyclictest: add option for dumping the histogram in a file +Khem Raj (1): + Makefile: Set CC/AR variable only if it doesn't have a value +Luiz Capitulino (5): + don't use exit(-1) for failures + cyclictest: move tracemark_fd handling to its own function + cyclictest: tracing(): check for notrace + cyclictest: move debugfs init code to its own function + cyclictest: add --tracemark option +Uwe Kleine-König (5): + backfire: remove unused header file + remove several unused Makefiles + rt-migrate-test: remove space before \n + drop compiling without NPTL support + Fix some trivial typos found by codespell(1) +- Resolves: rhbz#1283264 + + * Wed Aug 12 2015 Clark Williams - 0.93-1 +John Kacur (6): + makefile: Create an rt-tests.tar file using git-archiv + makefile: Change VERSION_STRING to VERSIO + Add .tar files to .gitignor + Create a .gitattribute file to specify what files git-archive should ignore + pi_stress: Fix possible exit on error without releasing mutex + pip_stress: Fix warning: unused variable ‘c’ +Alexander Stein (1): + cyclictest: Fix long priority help text option +Clark Williams (3): + hwlatdetect: added --watch option to watch output in realtime + doc: fix VERSION in release-checklist.tx + makefile: fixed release targ + + * Tue Jun 09 2015 John Kacur - 0.92-1 +Anna-Maria Gleixner (2): + cyclictest: Convert the offset of the alignment option to microseconds + cyclictest: Align measurement threads to the next full second + cyclictest: Ensure that next wakeup time is never in the past +Daniel Wagner (1): + pi_stress: Clear affinity for DEADLINE tasks +John Kacur (3): + Fix minor grammar mistake in the help output + Allow building with -DHAVE_PARSE_CPUSTRING_ALL + Add a MAINTAINERS file +Michael Olbrich (2): + Makefile: pi_stress need librttest.a so it should depend on it + Makefile: cleanup linking to librttest.a +Sebastian Andrzej Siewior (1): + cyclictest: consider the 4 as the major version + + * Tue Feb 17 2015 Clark Williams - 0.91-1 +- From Boris Egorov + - rt-migrate-test: exit early if nr_runs is non-positive + - rt-migrate-test: use variables instead of macros +- From Uwe Kleine-König + - pi_stress: remove timestamp of compilation from version output +- rt-migrate-test: make sure input parameters are converted to correct units +- rt-migrate-test: sanity check --prio value + +* Tue Jan 27 2015 Clark Williams - 0.90-1 +- pip_stress: parameterize usleep value to work-around platform issues +- From Daniel Wagner : + - pi_stress: Store schedule attributes per thread + - rt-utils: Add gettid() + - rt-utils: Add helper to parse/print scheduling policies + - rt-sched: Add sched_setattr/sched_getattr API + - pi_stress: Use error.h for logging and debugging + - error: Add debug() function + - pi_stress: Remove unused TIMER_SIGNAL definition + - rt-tests.h: Remove unused header file + - hackbench: Don't re-assign context for each fd +- From Joakim Hernberg : + - cyclictest: make affinity option only use number of online cpus +- From John Kacur : + - cyclictest: Add long option --laptop to preserve battery power + - cyclictest: Fix help for long options only + - cyclictest: Change the output from function sighand() to stderr + - cyclictest: Always print an err message if write of 0 to cpu-dma_latency fails + - rt_numa.h: Suppress discards 'const' qualifier warning + - lib: Rework err_msg_n to output strerror after message +- From Alexey Brodkin : + - Makefile: allow building selected tests with non-NPTL toolchain + +* Sun Mar 30 2014 Clark Williams - 0.89-1 +- clean up debugging comments and printfs from last release +- ran hwlatdetect.py through 2to3, works for both python2 and 3 + +* Fri Mar 28 2014 Clark Williams - 0.88-1 +- From Uwe Kleine-König : + - cyclictest: Fix tracemark output when the latency threshold is hit on ARM +- From Gary S. Robertson : + - cyclictest: Restore CPU affinity function for non-NUMA builds + - cyclictest: Don't offer --numa option when unavailable + +* Wed Dec 11 2013 Clark Williams - 0.87-1 +- From Aaron Fabbri : + - cyclictest: CPU affinity now takes arbitrary set of cpus + +* Fri Nov 15 2013 Clark Williams - 0.86-1 +- cyclictest: allow break threshold without doing any tracing +- cyclictest: add named fifo for statistics +- from John Kacur : + - cyclictest: Align option fixes + - Makefile: Don't tag files in dir BUILD from rpm builds + - Makefile: Add BUILDROOT and SPECS to the dirs to remove for distclean + - Makefile: Add tmp dir to distclean and "make release" call distclean + - Makefile: Don't tag tmp files created when making a release +- from Nicholas Mc Guire : + - cyclictest: add align thread wakeup times option +- cyclictest: modify option handling to use enumerated types +- from Sebastian Andrzej Siewior : + - hackbench: init child's struct before using it +- from Jim Somerville : + - cyclictest: finish removal of 1 second first loops +- from Frank Rowand : + - rt-tests: NUMA optional for make rpm + - cyclictest: white space cleanup + +* Tue Nov 13 2012 Clark Williams - 0.85-1 +- [cyclictest] add tracemark function back to breaktrace logic +- from Frank Rowand : + - [cyclictest] report large measured clock latency + - [cyclictest] cleanup getopt_long() parameters +- from John Kacur : + - [Makefile] add CPPFLAGS to pattern rule for dependencies + - [gitignore] exclude patches and .a archives +- from Uwe Kleine-König : + - Makefile: separate CFLAGS and CPPFLAGS + - have printf use %%s format for strings +- from Bhavesh Davda : + - cyclictest: histogram overflow instance tracking + - cyclictest: whitespace cleanup + +* Wed May 9 2012 Clark Williams - 0.84-1 +- [cyclictest] added -Q/--priospread option to +- from Markus Kohlhase + - [docs] added description from osadl.org +- from Darren Hart + - Makefile: Support user supplied CFLAGS and LDFLAGS +- from Steven Rostedt + - rt-tests: Update rt-migrate-test to use ftrace infrastructure +- from John Kacur + - .gitignore: differentiate between program names and directories + - pi_stress: Check the status of sched_getaffinity + - Makefile: Introduce a static library + - Move info, warn, and fatal functions to error.[ch] + - install: Fix failed to create symbolic link hwlatdetect file exists + - cyclictest: Make cyclictest fail if it cannot run with requested priority +- from Frank Rowand + - cyclictest: segfault with '-a' + - cyclictest: avoid unneeded warning + - cyclictest: warn of interaction between '-a', '--smp', and '--numa' + - Makefile: get machinetype from compiler instead of uname + - cyclictest: incorrect first latency value for --verbose option + - cyclictest: printf format compile warning + +* Mon Sep 26 2011 Clark Williams - 0.83-1 +- modified Makefile to be smarter about building with NUMA + +* Wed Sep 21 2011 Clark Williams - 0.82-1 +- fix print that causes error in histogram processing + +* Tue Sep 20 2011 Clark Williams - 0.81-1 +- cleaned up previous hack for /dev/cpu_dma_latency interface + +* Tue Sep 20 2011 Clark Williams - 0.80-1 +- use /dev/cpu_dma_latency interface to prevent cstate transitions + in cyclictest + +* Thu Sep 15 2011 Clark Williams - 0.79-1 +- added signal_workers routine to hackbench +- added -F/--fifo option to hackbench + +* Wed Sep 14 2011 Clark Williams - 0.78-1 +- modified hackebench signal logic + +* Fri Sep 9 2011 Clark Williams - 0.77-1 +- removed tracemark functions (too much contention on multiprocessors) + +* Wed Sep 7 2011 Clark Williams - 0.76-1 +- only turn on /proc/sys/kernel/ftrace_enabled for a tracer that + needs it +- make sure to set current_tracer to function for -f switch + +* Fri Sep 2 2011 Clark Williams - 0.75-1 +- added utility routines for mounting debugfs and event/tracing manipulation +- from Steven Rostedt : + - allow events for all tracers + - Have -I and -P together also be -B + - do not touch tracing_thresh + - only check file descriptor in tracemark() function + - use interval on first loop instead of 1 second + - allow tracemark() to take variable args + +* Thu Aug 18 2011 Clark Williams - 0.74-1 +- changes to deal with 3.0 kernel +- fixed buildrequires in specfile for Python +- fixed spelling error in printf in cyclictest +- from John Kacur + - Make the function header style consistent with the rest of cyclictest. + - Spelling clean-ups +- from Uwe Kleine-König + - fix possible buffer overflow in string handling + +* Mon May 9 2011 Clark Williams - 0.73-1 +- fixed signal handling in hackbench (avoid thousands of zombies) +- from Geunsik Lim + - fix incorrect wakeup interface in cyclictest +- from Wolfram Sang + - Simplify Makefile using -D option to install +- from Carsten Emde + - add histogram summary column option (-H) to cyclictest +- from Daniel Sangorrin + - fix sched_setaffinity type error when building with UCLIB +- from Uwe Kleine-König + - install backfire's Makefile + - modernize backfire's Makefile + +* Fri Jun 25 2010 Clark Williams - 0.72-1 +- changed 'diff' variable in timerthread() routine to be unsigned + 64-bit to avoid overflow issues in debugging +- included and changed all 'long long' declarations to + use uint64_t and int64_t + +* Tue May 18 2010 Clark Williams - 0.71-1 +- from Michal Schmit : + - fix accumulating overruns in periodic timer mode + +* Fri Apr 9 2010 Clark Williams - 0.70-1 +- from Olaf Hering + - skip python dependency during install if python not available + +* Fri Apr 9 2010 Clark Williams - 0.69-1 +- fix bus error in cyclictest on NUMA systems with more than 16 cores +- reset default cyclictest policy to SCHED_OTHER +- from Carsten Emde + - add pmqest program for testing posix message queue performance + - misc doc fixes + +* Fri Mar 19 2010 Clark Williams - 0.68-1 +- fix tracing difference between 2.6.24 and 2.6.33 + +* Tue Mar 16 2010 Clark Williams - 0.67-1 +- modified specfile to add hackbench +- modified internal ftrace logic for correct tracing +- Changed rpm %%description field to be more descriptive (BZ# 572323) +- from Carsten Emde + - added smp option to svsematest + - fixed policy display in cyclictest +- from John Kacur + - changed default scheduling policy to SCHED_FIFO + - fixed spelling mistake on cyclictest man page + - use symbolic names for scheduling policy + - reverted commit 582be2a52c43801a10d318de7491f1cc7243d5cf to + deal with bug in priority distribution +- from Uwe Kleine-König + - renamed pip to pip_stress + - eliminated use of temp files in dependency generation + - install backfire.c module source in /usr/src/backfire +- from David Sommerseth + - added new-and-improved hackbench to rt-tests + +* Mon Feb 15 2010 Clark Williams - 0.66-1 +- fix incorrect usage of sched_setscheduler in check_privs() + +* Mon Feb 8 2010 Clark Williams - 0.65-1 +- add workaround to hwlatdetect for incorrect initializer in + smi_detector.ko + +* Fri Jan 29 2010 Clark Williams - 0.64-1 +- from John Kacur + - automatic dependency generation + - style cleanups + - libnuma code cleanups + - add copyright to rt_numa.h + +* Wed Jan 27 2010 Clark Williams - 0.63-1 +- added support for libnuma V1 API + +* Tue Jan 26 2010 Clark Williams - 0.62-1 +- added NUMA option +- patch from Uwe Kleine-König + to clarify source copyrights +- moved hwlatdetect to python site-library + +* Wed Jan 13 2010 Clark Williams - 0.61-1 +- added --smp/-S option to setup for basic SMP testing +- added warn() and fatal() utility functions + +* Tue Dec 29 2009 Clark Williams - 0.60-1 +- John Kacur : + - added pip test (process based priority inheritance) + - refactored some error routines into the common library + - added 'make tags' option to Makefile +- Michael Olbrich added an unbuffered + output option to cyclictest (-u/--unbuffered) + +* Mon Dec 21 2009 Clark Williams - 0.59-1 +- deleted classic_pi +- David Sommerseth : + - added help text for -M (refresh-on-max) option for cyclictest + - fixed parsing of --mlockall in signaltest +- Carsten Emde provided a better explaination + for using the kernel module with the backfire program +- John Kacur cleaned up the trailing comments + on the guard macros in src/lib/rt-utils.h + +* Mon Dec 21 2009 Clark Williams - 0.58-1 +- merged jkacur's portable getcpu() code +- fixed inadvertent conversion of some source to DOS text files + +* Mon Dec 14 2009 Clark Williams - 0.57-1 +- John Kacur folded in Carsten Emde's tests + - ptsematest + - sigwaittest + - svsematest + - sendme +- Carsten Emde created a utility library + moving functions from cyclictest into src/lib/rt-utils.c +- Makefile cleanups from jkacur + +* Thu Dec 10 2009 Clark Williams - 0.56-1 +- cyclictest: added code to print break thread id with -b + +* Thu Nov 19 2009 Clark Williams - 0.55-1 +- pi_stress: cosmetic newline added +- fixes from John Kacur + - pi_stress: Remove racy state variables that cause watchdog to trigger + - pi_stress: Check whether quiet is set, before taking shutdown_mtx + - pi_stress: Use a pthread_mutex_t for the global variable shutdown + +* Tue Nov 17 2009 Clark Williams - 0.54-1 +- patches from John Kacur + - fix source style issues in pi_stress + - add a DEBUG option to the Makefile + - use CFLAGS for C compiler options + - label targets as PHONY if not generating actual file +- patch to remove rt-tests.spec from .PHONY in Makefile + +* Mon Nov 16 2009 Clark Williams - 0.53-2 +- added back missing dist tag for release + +* Tue Oct 6 2009 Clark Williams - 0.53-1 +- fixed incorrect format string in hwlatdetect.py +- added docs/release-checklist.txt + +* Mon Sep 21 2009 Clark Williams - 0.52-1 +- fixes and cleanups to pi_stress from jkacur +- added rostedt's rt-migrate-test + +* Thu Sep 3 2009 Clark Williams - 0.51-1 +- two manpage fixes from Uwe Kleine-König +- added -M option from Arnaldo Carvahlo de Melo + (for use on low-bandwidth connections, defer's update until new max hit) + +* Fri Jul 24 2009 Clark Williams - 0.50-2 +- minor patch to fix reporting option of hwlatdetect + +* Thu Jul 16 2009 Clark Williams - 0.50-1 +- patch to cyclictest from Sebastian Andrzej Siewior + to process options before checking for root user +- patch to cyclictest from Sebastian Andrzej Siewior + to exit with proper error code on exit +- added scripts/do-git-push script +- added push target to Makefile +- rewrite of hwlatdetect script to handle old smi_detector module + +* Sun Jul 5 2009 Clark Williams - 0.47-1 +- patch from GeunSik Lim to reorder options for readability +- patch from GeunSik Lim to add --policy option +- patch from GeunSik Lim to clarify -h option usage +- modified --policy to take scheduler policy name instead of integers + +* Thu Jul 2 2009 Clark Williams - 0.46-1 +- added fix from Daniel Gollub (doomsday latency) + +* Thu Jul 2 2009 Clark Williams - 0.45-1 +- bugfix from Daniel Gollub (fix cyclictest segfault) +- cyclictest format change from Sven-Thorsten Dietrich +- added help target to Makefile + +* Tue Jun 30 2009 Clark Williams - 0.44-1 +- fix to specfile (renamed smidetect to hwlatdetect) +- added code to hwlatdetect allow setting window and width properly + +* Thu Jun 25 2009 Clark Williams - 0.43-1 +- manpage fixes from Uwe Kleine-Konig + +* Fri Jun 12 2009 Clark Williams - 0.42-1 +- renamed smidetect -> hwlatdetect + +* Thu May 28 2009 Clark Williams - 0.41-1 +- added Stefan Agner's patch to fix calculating time difference + when delta is bigger than 2147 seconds + +* Wed May 13 2009 Clark Williams - 0.40-1 +- added smidetect + +* Thu Jan 03 2008 Clark Williams - 0.18-1 +- Initial build.