180c9476eSPaul E. McKenney#!/bin/bash 280c9476eSPaul E. McKenney# SPDX-License-Identifier: GPL-2.0+ 380c9476eSPaul E. McKenney# 480c9476eSPaul E. McKenney# Analyze a given results directory for rcutorture progress. 580c9476eSPaul E. McKenney# 680c9476eSPaul E. McKenney# Usage: kvm-recheck-rcu.sh resdir 780c9476eSPaul E. McKenney# 880c9476eSPaul E. McKenney# Copyright (C) Facebook, 2020 980c9476eSPaul E. McKenney# 1080c9476eSPaul E. McKenney# Authors: Paul E. McKenney <paulmck@kernel.org> 1180c9476eSPaul E. McKenney 1280c9476eSPaul E. McKenneyi="$1" 1380c9476eSPaul E. McKenneyif test -d "$i" -a -r "$i" 1480c9476eSPaul E. McKenneythen 1580c9476eSPaul E. McKenney : 1680c9476eSPaul E. McKenneyelse 1780c9476eSPaul E. McKenney echo Unreadable results directory: $i 1880c9476eSPaul E. McKenney exit 1 1980c9476eSPaul E. McKenneyfi 2080c9476eSPaul E. McKenney. functions.sh 2180c9476eSPaul E. McKenney 2280c9476eSPaul E. McKenneyconfigfile=`echo $i | sed -e 's/^.*\///'` 2380c9476eSPaul E. McKenneynscfs="`grep 'scf_invoked_count ver:' $i/console.log 2> /dev/null | tail -1 | sed -e 's/^.* scf_invoked_count ver: //' -e 's/ .*$//' | tr -d '\015'`" 2480c9476eSPaul E. McKenneyif test -z "$nscfs" 2580c9476eSPaul E. McKenneythen 2680c9476eSPaul E. McKenney echo "$configfile ------- " 2780c9476eSPaul E. McKenneyelse 28*1dccc5a3SPaul E. McKenney dur="`grep -v '^#' $i/qemu-cmd | sed -e 's/^.* scftorture.shutdown_secs=//' -e 's/ .*$//' 2> /dev/null`" 2980c9476eSPaul E. McKenney if test -z "$dur" 3080c9476eSPaul E. McKenney then 3180c9476eSPaul E. McKenney rate="" 3280c9476eSPaul E. McKenney else 3380c9476eSPaul E. McKenney nscfss=`awk -v nscfs=$nscfs -v dur=$dur ' 3480c9476eSPaul E. McKenney BEGIN { print nscfs / dur }' < /dev/null` 3580c9476eSPaul E. McKenney rate=" ($nscfss/s)" 3680c9476eSPaul E. McKenney fi 3780c9476eSPaul E. McKenney echo "${configfile} ------- ${nscfs} SCF handler invocations$rate" 3880c9476eSPaul E. McKenneyfi 39