selftests/ftrace: Add a basic testcase for snapshot
This testcase is constrived to reproduce a problem that the cpu buffers become unavailable which is due to 'record_disabled' of array_buffer and max_buffer being messed up. Local test result after bugfix: # ./ftracetest test.d/00basic/snapshot1.tc === Ftrace unit tests === [1] Snapshot and tracing_cpumask [PASS] [2] (instance) Snapshot and tracing_cpumask [PASS] # of passed: 2 # of failed: 0 # of unresolved: 0 # of untested: 0 # of unsupported: 0 # of xfailed: 0 # of undefined(test bug): 0 Link: https://lkml.kernel.org/r/20230805033816.3284594-3-zhengyejian1@huawei.com Cc: <mhiramat@kernel.org> Cc: <vnagarnaik@google.com> Cc: <shuah@kernel.org> Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
parent
b71645d6af
commit
5450be6bef
31
tools/testing/selftests/ftrace/test.d/00basic/snapshot1.tc
Normal file
31
tools/testing/selftests/ftrace/test.d/00basic/snapshot1.tc
Normal file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: Snapshot and tracing_cpumask
|
||||
# requires: trace_marker tracing_cpumask snapshot
|
||||
# flags: instance
|
||||
|
||||
# This testcase is constrived to reproduce a problem that the cpu buffers
|
||||
# become unavailable which is due to 'record_disabled' of array_buffer and
|
||||
# max_buffer being messed up.
|
||||
|
||||
# Store origin cpumask
|
||||
ORIG_CPUMASK=`cat tracing_cpumask`
|
||||
|
||||
# Stop tracing all cpu
|
||||
echo 0 > tracing_cpumask
|
||||
|
||||
# Take a snapshot of the main buffer
|
||||
echo 1 > snapshot
|
||||
|
||||
# Restore origin cpumask, note that there should be some cpus being traced
|
||||
echo ${ORIG_CPUMASK} > tracing_cpumask
|
||||
|
||||
# Set tracing on
|
||||
echo 1 > tracing_on
|
||||
|
||||
# Write a log into buffer
|
||||
echo "test input 1" > trace_marker
|
||||
|
||||
# Ensure the log writed so that cpu buffers are still available
|
||||
grep -q "test input 1" trace
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user