From: Shizhao Chen <shichen@redhat.com>
To: linux-rt-users@vger.kernel.org
Cc: Crystal Wood <crwood@redhat.com>, John Kacur <jkacur@redhat.com>,
Clark Williams <williams@redhat.com>
Subject: [PATCH v2] rt-tests: pip_stress: Add option --usleep
Date: Fri, 24 Jan 2025 15:51:57 +0800 [thread overview]
Message-ID: <20250124075206.35834-1-shichen@redhat.com> (raw)
In-Reply-To: <CADm5pWf1p-SJAWp6fyOhynpxz7gJx6542d+ZPt3e66WC9JSbyA@mail.gmail.com>
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>
---
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 0d06dd2..0f65ad1 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 fb0391b..9bd225f 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.47.1
next prev parent reply other threads:[~2025-01-24 7:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-23 6:04 [PATCH] rt-tests: pip_stress: Add option --usleep Shizhao Chen
2025-01-24 1:05 ` Crystal Wood
2025-01-24 7:30 ` Shizhao Chen
2025-01-24 7:51 ` Shizhao Chen [this message]
2025-01-29 21:57 ` [PATCH v2] " John Kacur
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250124075206.35834-1-shichen@redhat.com \
--to=shichen@redhat.com \
--cc=crwood@redhat.com \
--cc=jkacur@redhat.com \
--cc=linux-rt-users@vger.kernel.org \
--cc=williams@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox