blob: 4c5a061a5b4e6d522396714de21f64b871e23ab4 [file] [log] [blame]
Steven Rostedt (Red Hat)91e6f1c2016-05-09 18:10:00 -04001#!/bin/sh
2# description: Test creation and deletion of trace instances while setting an event
3
4if [ ! -d instances ] ; then
5 echo "no instance directory with this kernel"
6 exit_unsupported;
7fi
8
9fail() { # mesg
10 rmdir foo 2>/dev/null
11 echo $1
12 set -e
13 exit $FAIL
14}
15
16cd instances
17
18# we don't want to fail on error
19set +e
20
21mkdir x
22rmdir x
23result=$?
24
25if [ $result -ne 0 ]; then
26 echo "instance rmdir not supported"
27 exit_unsupported
28fi
29
30instance_slam() {
31 while :; do
32 mkdir foo 2> /dev/null
33 rmdir foo 2> /dev/null
34 done
35}
36
37instance_read() {
38 while :; do
39 cat foo/trace 1> /dev/null 2>&1
40 done
41}
42
43instance_set() {
44 while :; do
45 echo 1 > foo/events/sched/sched_switch
46 done 2> /dev/null
47}
48
49instance_slam &
50p1=$!
51echo $p1
52
53instance_set &
54p2=$!
55echo $p2
56
57instance_read &
58p3=$!
59echo $p3
60
61sleep 1
62
63kill -1 $p3
64kill -1 $p2
65kill -1 $p1
66
67echo "Wait for processes to finish"
68wait $p1 $p2 $p3
69echo "all processes finished, wait for cleanup"
70sleep 1
71
72mkdir foo
73ls foo > /dev/null
74rmdir foo
75if [ -d foo ]; then
76 fail "foo still exists"
77fi
78exit 0
79
80
81
82
83instance_slam() {
84 while :; do
85 mkdir x
86 mkdir y
87 mkdir z
88 rmdir x
89 rmdir y
90 rmdir z
91 done 2>/dev/null
92}
93
94instance_slam &
Steven Rostedt (Red Hat)97f88272016-05-23 10:04:46 -040095p1=$!
Steven Rostedt (Red Hat)91e6f1c2016-05-09 18:10:00 -040096echo $p1
97
98instance_slam &
Steven Rostedt (Red Hat)97f88272016-05-23 10:04:46 -040099p2=$!
Steven Rostedt (Red Hat)91e6f1c2016-05-09 18:10:00 -0400100echo $p2
101
102instance_slam &
Steven Rostedt (Red Hat)97f88272016-05-23 10:04:46 -0400103p3=$!
Steven Rostedt (Red Hat)91e6f1c2016-05-09 18:10:00 -0400104echo $p3
105
106instance_slam &
Steven Rostedt (Red Hat)97f88272016-05-23 10:04:46 -0400107p4=$!
Steven Rostedt (Red Hat)91e6f1c2016-05-09 18:10:00 -0400108echo $p4
109
110instance_slam &
Steven Rostedt (Red Hat)97f88272016-05-23 10:04:46 -0400111p5=$!
Steven Rostedt (Red Hat)91e6f1c2016-05-09 18:10:00 -0400112echo $p5
113
114ls -lR >/dev/null
115sleep 1
116
117kill -1 $p1
118kill -1 $p2
119kill -1 $p3
120kill -1 $p4
121kill -1 $p5
122
123echo "Wait for processes to finish"
124wait $p1 $p2 $p3 $p4 $p5
125echo "all processes finished, wait for cleanup"
126
127mkdir x y z
128ls x y z
129rmdir x y z
130for d in x y z; do
131 if [ -d $d ]; then
132 fail "instance $d still exists"
133 fi
134done
135
136set -e
137
138exit 0