mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
![Paul E. McKenney](/assets/img/avatar_default.png)
This commit adds a script that extracts RCU CPU stall warnings from console output. The user can optionally specify the number of lines preceding the stall to output, and also the number of lines of stall-warning text. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
34 lines
821 B
Bash
34 lines
821 B
Bash
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# Extract any RCU CPU stall warnings present in specified file.
|
|
# Filter out clocksource lines. Note that preceding-lines excludes the
|
|
# initial line of the stall warning but trailing-lines includes it.
|
|
#
|
|
# Usage: extract-stall.sh dmesg-file [ preceding-lines [ trailing-lines ] ]
|
|
|
|
echo $1
|
|
preceding_lines="${2-3}"
|
|
trailing_lines="${3-10}"
|
|
|
|
awk -v preceding_lines="$preceding_lines" -v trailing_lines="$trailing_lines" '
|
|
suffix <= 0 {
|
|
for (i = preceding_lines; i > 0; i--)
|
|
last[i] = last[i - 1];
|
|
last[0] = $0;
|
|
}
|
|
|
|
suffix > 0 {
|
|
print $0;
|
|
suffix--;
|
|
if (suffix <= 0)
|
|
print "";
|
|
}
|
|
|
|
suffix <= 0 && /detected stall/ {
|
|
for (i = preceding_lines; i >= 0; i--)
|
|
if (last[i] != "")
|
|
print last[i];
|
|
suffix = trailing_lines;
|
|
}' < "$1" | tr -d '\015' | grep -v clocksource
|
|
|