* [PATCH 1/7] cyclicteset: improvements to the python style in get_cyclictest_snapshot
@ 2020-07-06 20:17 John Kacur
2020-07-06 20:17 ` [PATCH 2/7] rt-tests: pi_stress.8: Remove unused -t n from the manpage John Kacur
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: John Kacur @ 2020-07-06 20:17 UTC (permalink / raw)
To: RT; +Cc: Clark Williams, John Kacur
Improvements to the python style in get_cyclictest_snapshot
- Add comments to the methods, functions, class and moduleb
- Put imports on individual lines
- Use "is" and "is not" with None insteald of == or !=
- Don't compare the length of lists to zero, to determine if they are
empty
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/cyclictest/get_cyclictest_snapshot.py | 38 +++++++++++++----------
1 file changed, 22 insertions(+), 16 deletions(-)
diff --git a/src/cyclictest/get_cyclictest_snapshot.py b/src/cyclictest/get_cyclictest_snapshot.py
index 7dddfc5d65b0..27fc629ca53e 100755
--- a/src/cyclictest/get_cyclictest_snapshot.py
+++ b/src/cyclictest/get_cyclictest_snapshot.py
@@ -1,9 +1,14 @@
#!/usr/bin/env python3
+""" Program to get a snapshot of a running instance of cyclictest """
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2020 John Kacur <jkacur@redhat.com>
-import subprocess, signal, argparse, re, glob, sys
+import subprocess
+import argparse
+import re
+import glob
+import sys
parser = argparse.ArgumentParser(description='Get a snapshot of running instances of cyclictest')
parser.add_argument('-l', '--list', action='store_true', help='list the main pid(s) of running instances of cyclictest')
@@ -11,8 +16,8 @@ parser.add_argument('-s', '--snapshot', nargs='*', metavar='pid', help='take a s
parser.add_argument('-p', '--print', nargs='*', metavar='pid', help='print the snapshots')
args = parser.parse_args()
-
class Snapshot:
+ """ Class for getting a snapshot of a running cyclictest instance """
def __init__(self):
self.pids = []
@@ -20,6 +25,7 @@ class Snapshot:
self.refresh()
def refresh(self):
+ """ Create a list of running cyclictest instances. """
self.pids = []
self.shm_files = glob.glob('/dev/shm/cyclictest*')
self.shm_files.sort()
@@ -27,21 +33,21 @@ class Snapshot:
pid = re.search('[0-9]*$', shm_file).group()
self.pids += [pid]
- # Send USR2 to all running instances of cyclictest or just to
- # a specific pid (spid) if specified
def take_snapshot(self, spids=None):
+ """ Send USR2 to all running instances of cyclictest,
+ or just to a specific pid (spids) if specified. """
for pid in self.pids:
- if (spids == None) or (pid in spids):
- # print("kill -s USR2 ", pid)
+ if (spids is None) or (pid in spids):
subprocess.run(["kill", "-s", "USR2", pid])
def print_pids(self):
+ """ Print the list of pids of running cyclictest instances. """
for pid in self.pids:
print(pid)
- # Print the data in /dev/shm/cyclictest*
def print(self, spids=None):
- if spids == None:
+ """ Print the data in /dev/shm/cyclictest* """
+ if spids is None:
for shm_file in self.shm_files:
with open(shm_file, 'r') as f:
data = f.read()
@@ -59,17 +65,17 @@ snapshot = Snapshot()
if args.list:
snapshot.print_pids()
-if args.snapshot != None:
- if len(args.snapshot) == 0:
- snapshot.take_snapshot()
- else:
+if args.snapshot is not None:
+ if args.snapshot:
snapshot.take_snapshot(args.snapshot)
-
-if args.print != None:
- if len(args.print) == 0:
- snapshot.print()
else:
+ snapshot.take_snapshot()
+
+if args.print is not None:
+ if args.print:
snapshot.print(args.print)
+ else:
+ snapshot.print()
if len(sys.argv) == 1:
snapshot.take_snapshot()
--
2.21.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/7] rt-tests: pi_stress.8: Remove unused -t n from the manpage
2020-07-06 20:17 [PATCH 1/7] cyclicteset: improvements to the python style in get_cyclictest_snapshot John Kacur
@ 2020-07-06 20:17 ` John Kacur
2020-07-06 20:17 ` [PATCH 3/7] rt-tests: ptsematest.8: Update the ptsematest man page John Kacur
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: John Kacur @ 2020-07-06 20:17 UTC (permalink / raw)
To: RT; +Cc: Clark Williams, John Kacur
The -t option was replaced with the -D, --duration=TIME option
Remove it from the manpage as well.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/pi_tests/pi_stress.8 | 6 ------
1 file changed, 6 deletions(-)
diff --git a/src/pi_tests/pi_stress.8 b/src/pi_tests/pi_stress.8
index 5e2af6189ca1..ed03ad6187e7 100644
--- a/src/pi_tests/pi_stress.8
+++ b/src/pi_tests/pi_stress.8
@@ -15,8 +15,6 @@ pi_stress \- a stress test for POSIX Priority Inheritance mutexes
.B pi_stress
.RB [ \-i|\-\-inversions
.IR inversions ]
-.RB [ \-t|\-\-duration
-.IR seconds ]
.RB [ \-g|\-\-groups
.IR groups
.RB [ \-d|\-\-debug ]
@@ -50,10 +48,6 @@ Run for
.I n
number of inversion conditions. This is the total number of inversions
for all inversion groups. Default is \-1 for infinite.
-.IP "\-t n|\-\-duration=n"
-Run the test for
-.I n
-seconds and then terminate.
.IP "\-g n|\-\-groups=n"
The number of inversion groups to run. Defaults to 10.
.IP \-d|\-\-debug
--
2.21.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/7] rt-tests: ptsematest.8: Update the ptsematest man page
2020-07-06 20:17 [PATCH 1/7] cyclicteset: improvements to the python style in get_cyclictest_snapshot John Kacur
2020-07-06 20:17 ` [PATCH 2/7] rt-tests: pi_stress.8: Remove unused -t n from the manpage John Kacur
@ 2020-07-06 20:17 ` John Kacur
2020-07-06 20:17 ` [PATCH 4/7] rt-tests: Add a man page for get_cyclictest_snapshot John Kacur
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: John Kacur @ 2020-07-06 20:17 UTC (permalink / raw)
To: RT; +Cc: Clark Williams, John Kacur
The smp option should be a capital (-S)
Also fix the update synopsis to include missing and options
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/ptsematest/ptsematest.8 | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/ptsematest/ptsematest.8 b/src/ptsematest/ptsematest.8
index 8f76bca4b6a8..5ee7d694d50d 100644
--- a/src/ptsematest/ptsematest.8
+++ b/src/ptsematest/ptsematest.8
@@ -2,9 +2,9 @@
.SH "NAME"
.LP
\fBptsematest\fR \- Start two threads and measure the latency of interprocess communication with POSIX mutex.
-.SH "SYNTAX"
+.SH "SYNOPSIS"
.LP
-ptsematest [-a|-a PROC] [-b USEC] [-d DIST] [-i INTV] [-l loops] [-p PRIO] [-t|-t NUM]
+ptsematest [-a|--affinity [PROC]] [-b|--breaktrace USEC] [-d|--distance DIST] [-D|--duration TIME][-i|--interval INTV] [-l|--loops LOOPS] [-p|--prio PRIO] [-S|--smp] [-t|--threads [NUM]]
.br
.SH "DESCRIPTION"
.LP
@@ -35,7 +35,7 @@ Set the number of loops. The default is 0 (endless). This option is useful for a
.B \-p, \-\-prio=PRIO
Set the priority of the process.
.TP
-.B \-s, \-\-smp
+.B \-S, \-\-smp
SMP testing: options -a -t and same priority
.TP
.B \-t, \-\-threads[=NUM]
--
2.21.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/7] rt-tests: Add a man page for get_cyclictest_snapshot
2020-07-06 20:17 [PATCH 1/7] cyclicteset: improvements to the python style in get_cyclictest_snapshot John Kacur
2020-07-06 20:17 ` [PATCH 2/7] rt-tests: pi_stress.8: Remove unused -t n from the manpage John Kacur
2020-07-06 20:17 ` [PATCH 3/7] rt-tests: ptsematest.8: Update the ptsematest man page John Kacur
@ 2020-07-06 20:17 ` John Kacur
2020-07-06 20:17 ` [PATCH 5/7] rt-tests: Tweak the cyclictest man page John Kacur
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: John Kacur @ 2020-07-06 20:17 UTC (permalink / raw)
To: RT; +Cc: Clark Williams, John Kacur
Add a man page for get_cyclictest_snapshot based on -h
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/cyclictest/get_cyclictest_snapshot.8 | 44 ++++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 src/cyclictest/get_cyclictest_snapshot.8
diff --git a/src/cyclictest/get_cyclictest_snapshot.8 b/src/cyclictest/get_cyclictest_snapshot.8
new file mode 100644
index 000000000000..e9251a8e821f
--- /dev/null
+++ b/src/cyclictest/get_cyclictest_snapshot.8
@@ -0,0 +1,44 @@
+.\" Hey, EMACS: -*- nroff -*-
+.TH GET_CYCLICTEST_SNAPSHOT 8 "July 6, 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
+get_cyclictest_snapshot \- Get a snapshot of running instances of cyclictest
+.SH SYNOPSIS
+.SY get_cyclictest_snapshot
+.OP [\-h]\ [\-l]\ [\-s\ [pid [pid ...]]]
+.br
+.OP [\-p\ [pid\ [pid ...]]]
+.SH OPTIONS
+Without options, this program will send USR2 to cyclictest to create a snapshot and then print it out.
+.br
+.TP
+Optional arguments:
+.TP
+.B -h, --help
+show this help message and exit
+.TP
+.B -l, --list
+list the main pid(s) of running instances of cyclictest
+.TP
+.B -s [pid [pid ...]], --snapshot [pid [pid ...]]
+take a snapshot of running instances of cyclictest
+.br
+by sending USR2 to cyclictest
+.TP
+.B -p [pid [pid ...]], --print [pid [pid ...]]
+print the snapshots
+.SH SEE ALSO
+.BR cyclictest (8),
+.SH AUTHOR
+get_cyclictest_snapshot was written by John Kacur <jkacur at redhat dot com>
--
2.21.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5/7] rt-tests: Tweak the cyclictest man page
2020-07-06 20:17 [PATCH 1/7] cyclicteset: improvements to the python style in get_cyclictest_snapshot John Kacur
` (2 preceding siblings ...)
2020-07-06 20:17 ` [PATCH 4/7] rt-tests: Add a man page for get_cyclictest_snapshot John Kacur
@ 2020-07-06 20:17 ` John Kacur
2020-07-06 20:17 ` [PATCH 6/7] rt-tests: Add some files like get_cyclictest_snapshot to .gitignore John Kacur
2020-07-06 20:17 ` [PATCH 7/7] rt-tests: get_cyclictest_snapshot: Warn if no cyclictest instance found John Kacur
5 siblings, 0 replies; 7+ messages in thread
From: John Kacur @ 2020-07-06 20:17 UTC (permalink / raw)
To: RT; +Cc: Clark Williams, John Kacur
Tweak the cyclictest man page with the .SY macro to make the cyclictest
command stand out apart from the options
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/cyclictest/cyclictest.8 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cyclictest/cyclictest.8 b/src/cyclictest/cyclictest.8
index 00e2d2403996..44b5d0dbcc4a 100644
--- a/src/cyclictest/cyclictest.8
+++ b/src/cyclictest/cyclictest.8
@@ -15,7 +15,7 @@
.SH NAME
cyclictest \- High resolution test program
.SH SYNOPSIS
-.B cyclictest
+.SY cyclictest
.RI "[ \-hfmnqrsvMS ] [\-a " proc " ] [\-A " align " ] [\-b " usec " ] [\-c " clock " ] [\-d " dist " ] \
[\-h " histogram " ] [\-i " intv " ] [\-l " loop " ] [\-o " red " ] [\-p " prio " ] \
[\-t " num " ] [\-D " time "] [\-w] [\-W] [\-y " policy " ] [ \-S | \-U ]"
--
2.21.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 6/7] rt-tests: Add some files like get_cyclictest_snapshot to .gitignore
2020-07-06 20:17 [PATCH 1/7] cyclicteset: improvements to the python style in get_cyclictest_snapshot John Kacur
` (3 preceding siblings ...)
2020-07-06 20:17 ` [PATCH 5/7] rt-tests: Tweak the cyclictest man page John Kacur
@ 2020-07-06 20:17 ` John Kacur
2020-07-06 20:17 ` [PATCH 7/7] rt-tests: get_cyclictest_snapshot: Warn if no cyclictest instance found John Kacur
5 siblings, 0 replies; 7+ messages in thread
From: John Kacur @ 2020-07-06 20:17 UTC (permalink / raw)
To: RT; +Cc: Clark Williams, John Kacur
Add some files like get_cyclictest_snapshot and .xz files etc
Signed-off-by: John Kacur <jkacur@redhat.com>
---
.gitignore | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/.gitignore b/.gitignore
index f7574ef94900..bc01575141bb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,10 @@
*.d
*.patch
*.a
+*.gz
+*.bz2
+*.xz
+*.asc
tmp
patches
ChangeLog
@@ -34,8 +38,10 @@ SRPMS
/deadline_test
/queuelat
/ssdd
+/get_cyclictest_snapshot
rt-tests.spec
tags
TAGS
cscope.*
+src/cyclictest/__pycache__/
--
2.21.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 7/7] rt-tests: get_cyclictest_snapshot: Warn if no cyclictest instance found
2020-07-06 20:17 [PATCH 1/7] cyclicteset: improvements to the python style in get_cyclictest_snapshot John Kacur
` (4 preceding siblings ...)
2020-07-06 20:17 ` [PATCH 6/7] rt-tests: Add some files like get_cyclictest_snapshot to .gitignore John Kacur
@ 2020-07-06 20:17 ` John Kacur
5 siblings, 0 replies; 7+ messages in thread
From: John Kacur @ 2020-07-06 20:17 UTC (permalink / raw)
To: RT; +Cc: Clark Williams, John Kacur
- Print a warning if no cyclictest instance is found.
- Also fix up the method take_snapshot for the case when the user
provides a pid.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/cyclictest/get_cyclictest_snapshot.py | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/src/cyclictest/get_cyclictest_snapshot.py b/src/cyclictest/get_cyclictest_snapshot.py
index 27fc629ca53e..aed9681e4cc5 100755
--- a/src/cyclictest/get_cyclictest_snapshot.py
+++ b/src/cyclictest/get_cyclictest_snapshot.py
@@ -19,6 +19,14 @@ args = parser.parse_args()
class Snapshot:
""" Class for getting a snapshot of a running cyclictest instance """
+ warned = False
+
+ def print_warning():
+ """ print a warning one time only even if called multiple times """
+ if not Snapshot.warned:
+ Snapshot.warned = True
+ print("No cyclictest instance found")
+
def __init__(self):
self.pids = []
self.shm_files = []
@@ -36,18 +44,27 @@ class Snapshot:
def take_snapshot(self, spids=None):
""" Send USR2 to all running instances of cyclictest,
or just to a specific pid (spids) if specified. """
- for pid in self.pids:
- if (spids is None) or (pid in spids):
+ if spids is None:
+ if not self.pids:
+ Snapshot.print_warning()
+ for pid in self.pids:
+ subprocess.run(["kill", "-s", "USR2", pid])
+ else:
+ for pid in spids:
subprocess.run(["kill", "-s", "USR2", pid])
def print_pids(self):
""" Print the list of pids of running cyclictest instances. """
+ if not self.pids:
+ Snapshot.print_warning()
for pid in self.pids:
print(pid)
def print(self, spids=None):
""" Print the data in /dev/shm/cyclictest* """
if spids is None:
+ if not self.shm_files:
+ Snapshot.print_warning()
for shm_file in self.shm_files:
with open(shm_file, 'r') as f:
data = f.read()
@@ -59,6 +76,8 @@ class Snapshot:
with open(shm_file, 'r') as f:
data = f.read()
print(data)
+ else:
+ Snapshot.print_warning()
snapshot = Snapshot()
--
2.21.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-07-06 20:17 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-06 20:17 [PATCH 1/7] cyclicteset: improvements to the python style in get_cyclictest_snapshot John Kacur
2020-07-06 20:17 ` [PATCH 2/7] rt-tests: pi_stress.8: Remove unused -t n from the manpage John Kacur
2020-07-06 20:17 ` [PATCH 3/7] rt-tests: ptsematest.8: Update the ptsematest man page John Kacur
2020-07-06 20:17 ` [PATCH 4/7] rt-tests: Add a man page for get_cyclictest_snapshot John Kacur
2020-07-06 20:17 ` [PATCH 5/7] rt-tests: Tweak the cyclictest man page John Kacur
2020-07-06 20:17 ` [PATCH 6/7] rt-tests: Add some files like get_cyclictest_snapshot to .gitignore John Kacur
2020-07-06 20:17 ` [PATCH 7/7] rt-tests: get_cyclictest_snapshot: Warn if no cyclictest instance found John Kacur
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).