summaryrefslogtreecommitdiff
path: root/scripts/rt-tester
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2006-06-27 02:55:01 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-27 17:32:47 -0700
commit0bafd214e4ba55dc1fb81a3031d0249292f1bc05 (patch)
tree754b3ad381078c57061515549642889b19aaf86d /scripts/rt-tester
parente74c69f46d93d29eea0ad8647863d1c6488f0f55 (diff)
downloadlwn-0bafd214e4ba55dc1fb81a3031d0249292f1bc05.tar.gz
lwn-0bafd214e4ba55dc1fb81a3031d0249292f1bc05.zip
[PATCH] rtmutex: Modify rtmutex-tester to test the setscheduler propagation
Make test suite setscheduler calls asynchronously. Remove the waits in the test cases and add a new testcase to verify the correctness of the setscheduler priority propagation. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'scripts/rt-tester')
-rw-r--r--scripts/rt-tester/check-all.sh1
-rw-r--r--scripts/rt-tester/t2-l1-2rt-sameprio.tst2
-rw-r--r--scripts/rt-tester/t2-l1-pi.tst2
-rw-r--r--scripts/rt-tester/t2-l1-signal.tst2
-rw-r--r--scripts/rt-tester/t2-l2-2rt-deadlock.tst2
-rw-r--r--scripts/rt-tester/t3-l1-pi-1rt.tst3
-rw-r--r--scripts/rt-tester/t3-l1-pi-2rt.tst3
-rw-r--r--scripts/rt-tester/t3-l1-pi-3rt.tst3
-rw-r--r--scripts/rt-tester/t3-l1-pi-signal.tst3
-rw-r--r--scripts/rt-tester/t3-l1-pi-steal.tst3
-rw-r--r--scripts/rt-tester/t3-l2-pi.tst3
-rw-r--r--scripts/rt-tester/t4-l2-pi-deboost.tst4
-rw-r--r--scripts/rt-tester/t5-l4-pi-boost-deboost-setsched.tst183
-rw-r--r--scripts/rt-tester/t5-l4-pi-boost-deboost.tst5
14 files changed, 184 insertions, 35 deletions
diff --git a/scripts/rt-tester/check-all.sh b/scripts/rt-tester/check-all.sh
index ac45c3e65a35..43098afe7431 100644
--- a/scripts/rt-tester/check-all.sh
+++ b/scripts/rt-tester/check-all.sh
@@ -18,4 +18,5 @@ testit t3-l1-pi-steal.tst
testit t3-l2-pi.tst
testit t4-l2-pi-deboost.tst
testit t5-l4-pi-boost-deboost.tst
+testit t5-l4-pi-boost-deboost-setsched.tst
diff --git a/scripts/rt-tester/t2-l1-2rt-sameprio.tst b/scripts/rt-tester/t2-l1-2rt-sameprio.tst
index a2b6f2aae755..8821f27cc8be 100644
--- a/scripts/rt-tester/t2-l1-2rt-sameprio.tst
+++ b/scripts/rt-tester/t2-l1-2rt-sameprio.tst
@@ -57,9 +57,7 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedfifo: 0: 80
-W: opcodeeq: 0: 0
C: schedfifo: 1: 80
-W: opcodeeq: 1: 0
# T0 lock L0
C: locknowait: 0: 0
diff --git a/scripts/rt-tester/t2-l1-pi.tst b/scripts/rt-tester/t2-l1-pi.tst
index aa4c8940acd6..cde1f189a02b 100644
--- a/scripts/rt-tester/t2-l1-pi.tst
+++ b/scripts/rt-tester/t2-l1-pi.tst
@@ -57,9 +57,7 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedother: 0: 0
-W: opcodeeq: 0: 0
C: schedfifo: 1: 80
-W: opcodeeq: 1: 0
# T0 lock L0
C: locknowait: 0: 0
diff --git a/scripts/rt-tester/t2-l1-signal.tst b/scripts/rt-tester/t2-l1-signal.tst
index c47ba06af209..3ab0bfc49950 100644
--- a/scripts/rt-tester/t2-l1-signal.tst
+++ b/scripts/rt-tester/t2-l1-signal.tst
@@ -57,9 +57,7 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedother: 0: 0
-W: opcodeeq: 0: 0
C: schedother: 1: 0
-W: opcodeeq: 1: 0
# T0 lock L0
C: locknowait: 0: 0
diff --git a/scripts/rt-tester/t2-l2-2rt-deadlock.tst b/scripts/rt-tester/t2-l2-2rt-deadlock.tst
index 0cee476b206e..f4b5d5d6215f 100644
--- a/scripts/rt-tester/t2-l2-2rt-deadlock.tst
+++ b/scripts/rt-tester/t2-l2-2rt-deadlock.tst
@@ -57,9 +57,7 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedfifo: 0: 80
-W: opcodeeq: 0: 0
C: schedfifo: 1: 80
-W: opcodeeq: 1: 0
# T0 lock L0
C: locknowait: 0: 0
diff --git a/scripts/rt-tester/t3-l1-pi-1rt.tst b/scripts/rt-tester/t3-l1-pi-1rt.tst
index a5eaf7ed5d54..63440ca2cce9 100644
--- a/scripts/rt-tester/t3-l1-pi-1rt.tst
+++ b/scripts/rt-tester/t3-l1-pi-1rt.tst
@@ -57,11 +57,8 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedother: 0: 0
-W: opcodeeq: 0: 0
C: schedother: 1: 0
-W: opcodeeq: 1: 0
C: schedfifo: 2: 82
-W: opcodeeq: 2: 0
# T0 lock L0
C: locknowait: 0: 0
diff --git a/scripts/rt-tester/t3-l1-pi-2rt.tst b/scripts/rt-tester/t3-l1-pi-2rt.tst
index c622391a8afe..e5816fe67df3 100644
--- a/scripts/rt-tester/t3-l1-pi-2rt.tst
+++ b/scripts/rt-tester/t3-l1-pi-2rt.tst
@@ -57,11 +57,8 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedother: 0: 0
-W: opcodeeq: 0: 0
C: schedfifo: 1: 81
-W: opcodeeq: 1: 0
C: schedfifo: 2: 82
-W: opcodeeq: 2: 0
# T0 lock L0
C: locknowait: 0: 0
diff --git a/scripts/rt-tester/t3-l1-pi-3rt.tst b/scripts/rt-tester/t3-l1-pi-3rt.tst
index b5057fb13e09..718b82b5d3bb 100644
--- a/scripts/rt-tester/t3-l1-pi-3rt.tst
+++ b/scripts/rt-tester/t3-l1-pi-3rt.tst
@@ -57,11 +57,8 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedfifo: 0: 80
-W: opcodeeq: 0: 0
C: schedfifo: 1: 81
-W: opcodeeq: 1: 0
C: schedfifo: 2: 82
-W: opcodeeq: 2: 0
# T0 lock L0
C: locknowait: 0: 0
diff --git a/scripts/rt-tester/t3-l1-pi-signal.tst b/scripts/rt-tester/t3-l1-pi-signal.tst
index 3e427daa33ff..c6e213563498 100644
--- a/scripts/rt-tester/t3-l1-pi-signal.tst
+++ b/scripts/rt-tester/t3-l1-pi-signal.tst
@@ -55,11 +55,8 @@ W: opcodeeq: 0: 0
# Set priorities
C: schedother: 0: 0
-W: opcodeeq: 0: 0
C: schedfifo: 1: 80
-W: opcodeeq: 1: 0
C: schedfifo: 2: 81
-W: opcodeeq: 2: 0
# T0 lock L0
C: lock: 0: 0
diff --git a/scripts/rt-tester/t3-l1-pi-steal.tst b/scripts/rt-tester/t3-l1-pi-steal.tst
index 72c24a9e4be4..f53749d59d79 100644
--- a/scripts/rt-tester/t3-l1-pi-steal.tst
+++ b/scripts/rt-tester/t3-l1-pi-steal.tst
@@ -57,11 +57,8 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedother: 0: 0
-W: opcodeeq: 0: 0
C: schedfifo: 1: 80
-W: opcodeeq: 1: 0
C: schedfifo: 2: 81
-W: opcodeeq: 2: 0
# T0 lock L0
C: lock: 0: 0
diff --git a/scripts/rt-tester/t3-l2-pi.tst b/scripts/rt-tester/t3-l2-pi.tst
index 2ba0dced48fa..cdc3e4fd7bac 100644
--- a/scripts/rt-tester/t3-l2-pi.tst
+++ b/scripts/rt-tester/t3-l2-pi.tst
@@ -57,11 +57,8 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedother: 0: 0
-W: opcodeeq: 0: 0
C: schedother: 1: 0
-W: opcodeeq: 1: 0
C: schedfifo: 2: 82
-W: opcodeeq: 2: 0
# T0 lock L0
C: locknowait: 0: 0
diff --git a/scripts/rt-tester/t4-l2-pi-deboost.tst b/scripts/rt-tester/t4-l2-pi-deboost.tst
index 01f1a80fa02a..baa14137f473 100644
--- a/scripts/rt-tester/t4-l2-pi-deboost.tst
+++ b/scripts/rt-tester/t4-l2-pi-deboost.tst
@@ -57,13 +57,9 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedother: 0: 0
-W: opcodeeq: 0: 0
C: schedother: 1: 0
-W: opcodeeq: 1: 0
C: schedfifo: 2: 82
-W: opcodeeq: 2: 0
C: schedfifo: 3: 83
-W: opcodeeq: 3: 0
# T0 lock L0
C: locknowait: 0: 0
diff --git a/scripts/rt-tester/t5-l4-pi-boost-deboost-setsched.tst b/scripts/rt-tester/t5-l4-pi-boost-deboost-setsched.tst
new file mode 100644
index 000000000000..e6ec0c81b54d
--- /dev/null
+++ b/scripts/rt-tester/t5-l4-pi-boost-deboost-setsched.tst
@@ -0,0 +1,183 @@
+#
+# rt-mutex test
+#
+# Op: C(ommand)/T(est)/W(ait)
+# | opcode
+# | | threadid: 0-7
+# | | | opcode argument
+# | | | |
+# C: lock: 0: 0
+#
+# Commands
+#
+# opcode opcode argument
+# schedother nice value
+# schedfifo priority
+# lock lock nr (0-7)
+# locknowait lock nr (0-7)
+# lockint lock nr (0-7)
+# lockintnowait lock nr (0-7)
+# lockcont lock nr (0-7)
+# unlock lock nr (0-7)
+# lockbkl lock nr (0-7)
+# unlockbkl lock nr (0-7)
+# signal thread to signal (0-7)
+# reset 0
+# resetevent 0
+#
+# Tests / Wait
+#
+# opcode opcode argument
+#
+# prioeq priority
+# priolt priority
+# priogt priority
+# nprioeq normal priority
+# npriolt normal priority
+# npriogt normal priority
+# locked lock nr (0-7)
+# blocked lock nr (0-7)
+# blockedwake lock nr (0-7)
+# unlocked lock nr (0-7)
+# lockedbkl dont care
+# blockedbkl dont care
+# unlockedbkl dont care
+# opcodeeq command opcode or number
+# opcodelt number
+# opcodegt number
+# eventeq number
+# eventgt number
+# eventlt number
+
+#
+# 5 threads 4 lock PI - modify priority of blocked threads
+#
+C: resetevent: 0: 0
+W: opcodeeq: 0: 0
+
+# Set schedulers
+C: schedother: 0: 0
+C: schedfifo: 1: 81
+C: schedfifo: 2: 82
+C: schedfifo: 3: 83
+C: schedfifo: 4: 84
+
+# T0 lock L0
+C: locknowait: 0: 0
+W: locked: 0: 0
+
+# T1 lock L1
+C: locknowait: 1: 1
+W: locked: 1: 1
+
+# T1 lock L0
+C: lockintnowait: 1: 0
+W: blocked: 1: 0
+T: prioeq: 0: 81
+
+# T2 lock L2
+C: locknowait: 2: 2
+W: locked: 2: 2
+
+# T2 lock L1
+C: lockintnowait: 2: 1
+W: blocked: 2: 1
+T: prioeq: 0: 82
+T: prioeq: 1: 82
+
+# T3 lock L3
+C: locknowait: 3: 3
+W: locked: 3: 3
+
+# T3 lock L2
+C: lockintnowait: 3: 2
+W: blocked: 3: 2
+T: prioeq: 0: 83
+T: prioeq: 1: 83
+T: prioeq: 2: 83
+
+# T4 lock L3
+C: lockintnowait: 4: 3
+W: blocked: 4: 3
+T: prioeq: 0: 84
+T: prioeq: 1: 84
+T: prioeq: 2: 84
+T: prioeq: 3: 84
+
+# Reduce prio of T4
+C: schedfifo: 4: 80
+T: prioeq: 0: 83
+T: prioeq: 1: 83
+T: prioeq: 2: 83
+T: prioeq: 3: 83
+T: prioeq: 4: 80
+
+# Increase prio of T4
+C: schedfifo: 4: 84
+T: prioeq: 0: 84
+T: prioeq: 1: 84
+T: prioeq: 2: 84
+T: prioeq: 3: 84
+T: prioeq: 4: 84
+
+# Reduce prio of T3
+C: schedfifo: 3: 80
+T: prioeq: 0: 84
+T: prioeq: 1: 84
+T: prioeq: 2: 84
+T: prioeq: 3: 84
+T: prioeq: 4: 84
+
+# Increase prio of T3
+C: schedfifo: 3: 85
+T: prioeq: 0: 85
+T: prioeq: 1: 85
+T: prioeq: 2: 85
+T: prioeq: 3: 85
+T: prioeq: 4: 84
+
+# Reduce prio of T3
+C: schedfifo: 3: 83
+T: prioeq: 0: 84
+T: prioeq: 1: 84
+T: prioeq: 2: 84
+T: prioeq: 3: 84
+T: prioeq: 4: 84
+
+# Signal T4
+C: signal: 4: 0
+W: unlocked: 4: 3
+T: prioeq: 0: 83
+T: prioeq: 1: 83
+T: prioeq: 2: 83
+T: prioeq: 3: 83
+
+# Signal T3
+C: signal: 3: 0
+W: unlocked: 3: 2
+T: prioeq: 0: 82
+T: prioeq: 1: 82
+T: prioeq: 2: 82
+
+# Signal T2
+C: signal: 2: 0
+W: unlocked: 2: 1
+T: prioeq: 0: 81
+T: prioeq: 1: 81
+
+# Signal T1
+C: signal: 1: 0
+W: unlocked: 1: 0
+T: priolt: 0: 1
+
+# Unlock and exit
+C: unlock: 3: 3
+C: unlock: 2: 2
+C: unlock: 1: 1
+C: unlock: 0: 0
+
+W: unlocked: 3: 3
+W: unlocked: 2: 2
+W: unlocked: 1: 1
+W: unlocked: 0: 0
+
diff --git a/scripts/rt-tester/t5-l4-pi-boost-deboost.tst b/scripts/rt-tester/t5-l4-pi-boost-deboost.tst
index efa0788c1189..ca64f8bbf4bc 100644
--- a/scripts/rt-tester/t5-l4-pi-boost-deboost.tst
+++ b/scripts/rt-tester/t5-l4-pi-boost-deboost.tst
@@ -57,15 +57,10 @@ W: opcodeeq: 0: 0
# Set schedulers
C: schedother: 0: 0
-W: opcodeeq: 0: 0
C: schedfifo: 1: 81
-W: opcodeeq: 1: 0
C: schedfifo: 2: 82
-W: opcodeeq: 2: 0
C: schedfifo: 3: 83
-W: opcodeeq: 3: 0
C: schedfifo: 4: 84
-W: opcodeeq: 4: 0
# T0 lock L0
C: locknowait: 0: 0