brintos

brintos / linux-shallow public Read only

0
0
Text · 2.0 KiB · 42422e4 Raw
143 lines · plain
1#!/bin/sh2# SPDX-License-Identifier: GPL-2.03# description: Test creation and deletion of trace instances while setting an event4# requires: instances5 6fail() { # mesg7    rmdir foo 2>/dev/null8    echo $19    set -e10    exit_fail11}12 13cd instances14 15# we don't want to fail on error16set +e17 18mkdir x19rmdir x20result=$?21 22if [ $result -ne 0 ]; then23    echo "instance rmdir not supported"24    exit_unsupported25fi26 27instance_slam() {28        while :; do29                mkdir foo 2> /dev/null30                rmdir foo 2> /dev/null31        done32}33 34instance_read() {35        while :; do36                cat foo/trace 1> /dev/null 2>&137        done38}39 40instance_set() {41        while :; do42                echo 1 > foo/events/sched/sched_switch/enable43        done 2> /dev/null44}45 46instance_slam &47p1=$!48echo $p149 50instance_set &51p2=$!52echo $p253 54instance_read &55p3=$!56echo $p357 58sleep 159 60kill -1 $p361kill -1 $p262kill -1 $p163 64echo "Wait for processes to finish"65wait $p1 $p2 $p366echo "all processes finished, wait for cleanup"67sleep 168 69mkdir foo70ls foo > /dev/null71rmdir foo72if [ -d foo ]; then73        fail "foo still exists"74fi75 76mkdir foo77echo "schedule:enable_event:sched:sched_switch" > foo/set_ftrace_filter78rmdir foo79if [ -d foo ]; then80        fail "foo still exists"81fi82if grep -q "schedule:enable_event:sched:sched_switch" ../set_ftrace_filter; then83	echo "Older kernel detected. Cleanup filter"84	echo '!schedule:enable_event:sched:sched_switch' > ../set_ftrace_filter85fi86 87instance_slam() {88    while :; do89	mkdir x90	mkdir y91	mkdir z92	rmdir x93	rmdir y94	rmdir z95    done 2>/dev/null96}97 98instance_slam &99p1=$!100echo $p1101 102instance_slam &103p2=$!104echo $p2105 106instance_slam &107p3=$!108echo $p3109 110instance_slam &111p4=$!112echo $p4113 114instance_slam &115p5=$!116echo $p5117 118ls -lR >/dev/null119sleep 1120 121kill -1 $p1122kill -1 $p2123kill -1 $p3124kill -1 $p4125kill -1 $p5126 127echo "Wait for processes to finish"128wait $p1 $p2 $p3 $p4 $p5129echo "all processes finished, wait for cleanup"130 131mkdir x y z132ls x y z133rmdir x y z134for d in x y z; do135        if [ -d $d ]; then136                fail "instance $d still exists"137        fi138done139 140set -e141 142exit 0143