Skip to content
/ linux Public
forked from torvalds/linux

Commit

Permalink
Merge tag 'linux-kselftest-4.7-rc1' of git://git.kernel.org/pub/scm/l…
Browse files Browse the repository at this point in the history
…inux/kernel/git/shuah/linux-kselftest

Pull kselftest updates from Shuah Khan:
 "This update for Kselftest adds:

   - a new ftrace testcase
   - fixes for ftrace and intel_pstate tests"

* tag 'linux-kselftest-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
  tools: testing: define the _GNU_SOURCE macro
  kselftests/ftrace: Add a test case for event pid filtering
  kselftests/ftrace: Detect tracefs mount point
  • Loading branch information
torvalds committed May 24, 2016
2 parents 4496a1d + 6eab37d commit d62a023
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 3 deletions.
9 changes: 7 additions & 2 deletions tools/testing/selftests/ftrace/ftracetest
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,12 @@ parse_opts() { # opts

# Parameters
DEBUGFS_DIR=`grep debugfs /proc/mounts | cut -f2 -d' ' | head -1`
TRACING_DIR=$DEBUGFS_DIR/tracing
if [ -z "$DEBUGFS_DIR" ]; then
TRACING_DIR=`grep tracefs /proc/mounts | cut -f2 -d' ' | head -1`
else
TRACING_DIR=$DEBUGFS_DIR/tracing
fi

TOP_DIR=`absdir $0`
TEST_DIR=$TOP_DIR/test.d
TEST_CASES=`find_testcases $TEST_DIR`
Expand All @@ -102,7 +107,7 @@ parse_opts $*
[ $DEBUG -ne 0 ] && set -x

# Verify parameters
if [ -z "$DEBUGFS_DIR" -o ! -d "$TRACING_DIR" ]; then
if [ -z "$TRACING_DIR" -o ! -d "$TRACING_DIR" ]; then
errexit "No ftrace directory found"
fi

Expand Down
72 changes: 72 additions & 0 deletions tools/testing/selftests/ftrace/test.d/event/event-pid.tc
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#!/bin/sh
# description: event tracing - restricts events based on pid

do_reset() {
echo > set_event
echo > set_event_pid
echo 0 > options/event-fork
clear_trace
}

fail() { #msg
do_reset
echo $1
exit $FAIL
}

yield() {
ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1
}

if [ ! -f set_event -o ! -d events/sched ]; then
echo "event tracing is not supported"
exit_unsupported
fi

if [ ! -f set_event_pid ]; then
echo "event pid filtering is not supported"
exit_unsupported
fi

reset_tracer
do_reset

echo 1 > events/sched/sched_switch/enable

yield

count=`cat trace | grep sched_switch | wc -l`
if [ $count -eq 0 ]; then
fail "sched_switch events are not recorded"
fi

do_reset

read mypid rest < /proc/self/stat

echo $mypid > set_event_pid
echo 'sched:sched_switch' > set_event

yield

count=`cat trace | grep sched_switch | grep -v "pid=$mypid" | wc -l`
if [ $count -ne 0 ]; then
fail "sched_switch events from other task are recorded"
fi

do_reset

echo $mypid > set_event_pid
echo 1 > options/event-fork
echo 1 > events/sched/sched_switch/enable

yield

count=`cat trace | grep sched_switch | grep -v "pid=$mypid" | wc -l`
if [ $count -eq 0 ]; then
fail "sched_switch events from other task are not recorded"
fi

do_reset

exit 0
2 changes: 1 addition & 1 deletion tools/testing/selftests/intel_pstate/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ EVALUATE_ONLY=0
max_cpus=$(($(nproc)-1))

# compile programs
gcc -o aperf aperf.c -lm
gcc aperf.c -Wall -D_GNU_SOURCE -o aperf -lm
[ $? -ne 0 ] && echo "Problem compiling aperf.c." && exit 1
gcc -o msr msr.c -lm
[ $? -ne 0 ] && echo "Problem compiling msr.c." && exit 1
Expand Down

0 comments on commit d62a023

Please sign in to comment.