mirror of https://gitee.com/openkylin/linux.git
selftests/ftrace: Support ":tracer" suffix for requires
Add ":tracer" suffix support for the requires list, so that the testcase can list up the required tracer (e.g. function) to the requires list. For example, if the testcase requires function_graph tracer, it can write requires list as below instead of checking available_tracers. # requires: function_graph:tracer Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Reviewed-by: Tom Zanussi <zanussi@kernel.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
74e6072894
commit
305c8388fd
|
@ -1,16 +1,11 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: ftrace - function graph filters with stack tracer
|
||||
# requires: stack_trace set_ftrace_filter
|
||||
# requires: stack_trace set_ftrace_filter function_graph:tracer
|
||||
|
||||
# Make sure that function graph filtering works, and is not
|
||||
# affected by other tracers enabled (like stack tracer)
|
||||
|
||||
if ! grep -q function_graph available_tracers; then
|
||||
echo "no function graph tracer configured"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
do_reset() {
|
||||
if [ -e /proc/sys/kernel/stack_tracer_enabled ]; then
|
||||
echo 0 > /proc/sys/kernel/stack_tracer_enabled
|
||||
|
|
|
@ -1,15 +1,10 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: ftrace - function graph filters
|
||||
# requires: set_ftrace_filter
|
||||
# requires: set_ftrace_filter function_graph:tracer
|
||||
|
||||
# Make sure that function graph filtering works
|
||||
|
||||
if ! grep -q function_graph available_tracers; then
|
||||
echo "no function graph tracer configured"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
fail() { # msg
|
||||
echo $1
|
||||
exit_fail
|
||||
|
|
|
@ -1,15 +1,10 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: ftrace - function glob filters
|
||||
# requires: set_ftrace_filter
|
||||
# requires: set_ftrace_filter function:tracer
|
||||
|
||||
# Make sure that function glob matching filter works.
|
||||
|
||||
if ! grep -q function available_tracers; then
|
||||
echo "no function tracer configured"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
disable_tracing
|
||||
clear_trace
|
||||
|
||||
|
|
|
@ -1,16 +1,11 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: ftrace - function pid notrace filters
|
||||
# requires: set_ftrace_notrace_pid set_ftrace_filter
|
||||
# requires: set_ftrace_notrace_pid set_ftrace_filter function:tracer
|
||||
# flags: instance
|
||||
|
||||
# Make sure that function pid matching filter with notrace works.
|
||||
|
||||
if ! grep -q function available_tracers; then
|
||||
echo "no function tracer configured"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
do_function_fork=1
|
||||
|
||||
if [ ! -f options/function-fork ]; then
|
||||
|
|
|
@ -1,17 +1,12 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: ftrace - function pid filters
|
||||
# requires: set_ftrace_pid set_ftrace_filter
|
||||
# requires: set_ftrace_pid set_ftrace_filter function:tracer
|
||||
# flags: instance
|
||||
|
||||
# Make sure that function pid matching filter works.
|
||||
# Also test it on an instance directory
|
||||
|
||||
if ! grep -q function available_tracers; then
|
||||
echo "no function tracer configured"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
do_function_fork=1
|
||||
|
||||
if [ ! -f options/function-fork ]; then
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: ftrace - function trace with cpumask
|
||||
# requires: function:tracer
|
||||
|
||||
if ! which nproc ; then
|
||||
nproc() {
|
||||
|
@ -15,11 +16,6 @@ if [ $NP -eq 1 ] ;then
|
|||
exit_unresolved
|
||||
fi
|
||||
|
||||
if ! grep -q "function" available_tracers ; then
|
||||
echo "Function trace is not enabled"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
ORIG_CPUMASK=`cat tracing_cpumask`
|
||||
|
||||
do_reset() {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: ftrace - function profiler with function tracing
|
||||
# requires: function_profile_enabled set_ftrace_filter
|
||||
# requires: function_profile_enabled set_ftrace_filter function_graph:tracer
|
||||
|
||||
# There was a bug after a rewrite of the ftrace infrastructure that
|
||||
# caused the function_profiler not to be able to run with the function
|
||||
|
@ -14,10 +14,6 @@
|
|||
# This test triggers those bugs on those kernels.
|
||||
#
|
||||
# We need function_graph and profiling to to run this test
|
||||
if ! grep -q function_graph available_tracers; then
|
||||
echo "no function graph tracer configured"
|
||||
exit_unsupported;
|
||||
fi
|
||||
|
||||
fail() { # mesg
|
||||
echo $1
|
||||
|
|
|
@ -106,9 +106,15 @@ initialize_ftrace() { # Reset ftrace to initial-state
|
|||
enable_tracing
|
||||
}
|
||||
|
||||
check_requires() { # Check required files
|
||||
check_requires() { # Check required files and tracers
|
||||
for i in $* ; do
|
||||
if [ ! -e $i ]; then
|
||||
t=${i%:tracer}
|
||||
if [ $t != $i ]; then
|
||||
if ! grep -wq $t available_tracers ; then
|
||||
echo "Required tracer $t is not configured."
|
||||
exit_unsupported
|
||||
fi
|
||||
elif [ ! -e $i ]; then
|
||||
echo "Required feature interface $i doesn't exist."
|
||||
exit_unsupported
|
||||
fi
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: Kprobe dynamic event with function tracer
|
||||
# requires: kprobe_events stack_trace_filter
|
||||
|
||||
grep "function" available_tracers || exit_unsupported # this is configurable
|
||||
# requires: kprobe_events stack_trace_filter function:tracer
|
||||
|
||||
# prepare
|
||||
echo nop > current_tracer
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: test for the preemptirqsoff tracer
|
||||
# requires: preemptoff:tracer irqsoff:tracer
|
||||
|
||||
MOD=preemptirq_delay_test
|
||||
|
||||
|
@ -27,9 +28,6 @@ unres() { #msg
|
|||
modprobe $MOD || unres "$MOD module not available"
|
||||
rmmod $MOD
|
||||
|
||||
grep -q "preemptoff" available_tracers || unsup "preemptoff tracer not enabled"
|
||||
grep -q "irqsoff" available_tracers || unsup "irqsoff tracer not enabled"
|
||||
|
||||
reset_tracer
|
||||
|
||||
# Simulate preemptoff section for half a second couple of times
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: %HERE DESCRIBE WHAT THIS DOES%
|
||||
# requires: %HERE LIST THE REQUIRED FILES%
|
||||
# requires: %HERE LIST THE REQUIRED FILES OR TRACERS%
|
||||
# The required tracer needs :tracer suffix, e.g. function:tracer
|
||||
# you have to add ".tc" extention for your testcase file
|
||||
# Note that all tests are run with "errexit" option.
|
||||
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: Test wakeup tracer
|
||||
# requires: wakeup:tracer
|
||||
|
||||
if ! which chrt ; then
|
||||
echo "chrt is not found. This test requires nice command."
|
||||
exit_unresolved
|
||||
fi
|
||||
|
||||
if ! grep -wq "wakeup" available_tracers ; then
|
||||
echo "wakeup tracer is not supported"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
echo wakeup > current_tracer
|
||||
echo 1 > tracing_on
|
||||
echo 0 > tracing_max_latency
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: Test wakeup RT tracer
|
||||
# requires: wakeup_rt:tracer
|
||||
|
||||
if ! which chrt ; then
|
||||
echo "chrt is not found. This test requires chrt command."
|
||||
exit_unresolved
|
||||
fi
|
||||
|
||||
if ! grep -wq "wakeup_rt" available_tracers ; then
|
||||
echo "wakeup_rt tracer is not supported"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
echo wakeup_rt > current_tracer
|
||||
echo 1 > tracing_on
|
||||
echo 0 > tracing_max_latency
|
||||
|
|
Loading…
Reference in New Issue