Merge tag 'trace-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing updates from Steven Rostedt: "Not much new with tracing for this release. Mostly just clean ups and minor fixes. Here's what else is new: - A new TRACE_EVENT_FN_COND macro, combining both _FN and _COND for those that want both. - New selftest to test the instance create and delete - Better debug output when ftrace fails" * tag 'trace-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (24 commits) ftrace: Fix the race between ftrace and insmod ftrace: Add infrastructure for delayed enabling of module functions x86: ftrace: Fix the comments for ftrace_modify_code_direct() tracing: Fix comment to use tracing_on over tracing_enable metag: ftrace: Fix the comments for ftrace_modify_code sh: ftrace: Fix the comments for ftrace_modify_code() ia64: ftrace: Fix the comments for ftrace_modify_code() ftrace: Clean up ftrace_module_init() code ftrace: Join functions ftrace_module_init() and ftrace_init_module() tracing: Introduce TRACE_EVENT_FN_COND macro tracing: Use seq_buf_used() in seq_buf_to_user() instead of len bpf: Constify bpf_verifier_ops structure ftrace: Have ftrace_ops_get_func() handle RCU and PER_CPU flags too ftrace: Remove use of control list and ops ftrace: Fix output of enabled_functions for showing tramp ftrace: Fix a typo in comment ftrace: Show all tramps registered to a record on ftrace_bug() ftrace: Add variable ftrace_expected for archs to show expected code ftrace: Add new type to distinguish what kind of ftrace_bug() tracing: Update cond flag when enabling or disabling a trigger ...
This commit is contained in:
90
tools/testing/selftests/ftrace/test.d/instances/instance.tc
Normal file
90
tools/testing/selftests/ftrace/test.d/instances/instance.tc
Normal file
@@ -0,0 +1,90 @@
|
||||
#!/bin/sh
|
||||
# description: Test creation and deletion of trace instances
|
||||
|
||||
if [ ! -d instances ] ; then
|
||||
echo "no instance directory with this kernel"
|
||||
exit_unsupported;
|
||||
fi
|
||||
|
||||
fail() { # mesg
|
||||
rmdir x y z 2>/dev/null
|
||||
echo $1
|
||||
set -e
|
||||
exit $FAIL
|
||||
}
|
||||
|
||||
cd instances
|
||||
|
||||
# we don't want to fail on error
|
||||
set +e
|
||||
|
||||
mkdir x
|
||||
rmdir x
|
||||
result=$?
|
||||
|
||||
if [ $result -ne 0 ]; then
|
||||
echo "instance rmdir not supported"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
instance_slam() {
|
||||
while :; do
|
||||
mkdir x
|
||||
mkdir y
|
||||
mkdir z
|
||||
rmdir x
|
||||
rmdir y
|
||||
rmdir z
|
||||
done 2>/dev/null
|
||||
}
|
||||
|
||||
instance_slam &
|
||||
x=`jobs -l`
|
||||
p1=`echo $x | cut -d' ' -f2`
|
||||
echo $p1
|
||||
|
||||
instance_slam &
|
||||
x=`jobs -l | tail -1`
|
||||
p2=`echo $x | cut -d' ' -f2`
|
||||
echo $p2
|
||||
|
||||
instance_slam &
|
||||
x=`jobs -l | tail -1`
|
||||
p3=`echo $x | cut -d' ' -f2`
|
||||
echo $p3
|
||||
|
||||
instance_slam &
|
||||
x=`jobs -l | tail -1`
|
||||
p4=`echo $x | cut -d' ' -f2`
|
||||
echo $p4
|
||||
|
||||
instance_slam &
|
||||
x=`jobs -l | tail -1`
|
||||
p5=`echo $x | cut -d' ' -f2`
|
||||
echo $p5
|
||||
|
||||
ls -lR >/dev/null
|
||||
sleep 1
|
||||
|
||||
kill -1 $p1
|
||||
kill -1 $p2
|
||||
kill -1 $p3
|
||||
kill -1 $p4
|
||||
kill -1 $p5
|
||||
|
||||
echo "Wait for processes to finish"
|
||||
wait $p1 $p2 $p3 $p4 $p5
|
||||
echo "all processes finished, wait for cleanup"
|
||||
|
||||
mkdir x y z
|
||||
ls x y z
|
||||
rmdir x y z
|
||||
for d in x y z; do
|
||||
if [ -d $d ]; then
|
||||
fail "instance $d still exists"
|
||||
fi
|
||||
done
|
||||
|
||||
set -e
|
||||
|
||||
exit 0
|
Reference in New Issue
Block a user