mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
rcutorture: Copy out ftrace into its own console file
When debugging, it can be difficult to quickly find the ftrace dump within the console log, which in turn makes it difficult to process it independent of the rest of the console output. This commit therefore copies the contents of the buffers into its own file to make it easier to locate and process the ftrace dump. The original ftrace dump is still available in the console log in cases because it can be more convenient to process it in situ, for example, for scripts that process console output as well as ftrace-dump data. Also handle the case of multiple ftrace dumps potentially showing up in the log. Example for a file like [1], it will extract as [2]. [1]: foo foo Dumping ftrace buffer: --------------------------------- blah blah --------------------------------- more bar baz Dumping ftrace buffer: --------------------------------- blah2 blah2 --------------------------------- bleh bleh [2]: Ftrace dump 1: blah blah Ftrace dump 2: blah2 blah2 [ paulmck: Fixed awk indentation, input up front. ] Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
This commit is contained in:
parent
e3bdaefbcc
commit
fcc7a329a7
29
tools/testing/selftests/rcutorture/bin/functions.sh
Normal file → Executable file
29
tools/testing/selftests/rcutorture/bin/functions.sh
Normal file → Executable file
@ -331,3 +331,32 @@ specify_qemu_net () {
|
||||
echo $1 -net none
|
||||
fi
|
||||
}
|
||||
|
||||
# Extract the ftrace output from the console log output
|
||||
# The ftrace output in the original logs look like:
|
||||
# Dumping ftrace buffer:
|
||||
# ---------------------------------
|
||||
# [...]
|
||||
# ---------------------------------
|
||||
extract_ftrace_from_console() {
|
||||
awk < "$1" '
|
||||
|
||||
/Dumping ftrace buffer:/ {
|
||||
buffer_count++
|
||||
print "Ftrace dump " buffer_count ":"
|
||||
capture = 1
|
||||
next
|
||||
}
|
||||
|
||||
/---------------------------------/ {
|
||||
if(capture == 1) {
|
||||
capture = 2
|
||||
next
|
||||
} else if(capture == 2) {
|
||||
capture = 0
|
||||
print ""
|
||||
}
|
||||
}
|
||||
|
||||
capture == 2'
|
||||
}
|
||||
|
@ -182,3 +182,10 @@ if ! test -s $file.diags
|
||||
then
|
||||
rm -f $file.diags
|
||||
fi
|
||||
|
||||
# Call extract_ftrace_from_console function, if the output is empty,
|
||||
# don't create $file.ftrace. Otherwise output the results to $file.ftrace
|
||||
extract_ftrace_from_console $file > $file.ftrace
|
||||
if [ ! -s $file.ftrace ]; then
|
||||
rm -f $file.ftrace
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user