18c2ecf20Sopenharmony_ci#!/bin/bash 28c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0+ 38c2ecf20Sopenharmony_ci# 48c2ecf20Sopenharmony_ci# Analyze a given results directory for rcutorture progress. 58c2ecf20Sopenharmony_ci# 68c2ecf20Sopenharmony_ci# Usage: kvm-recheck-rcu.sh resdir 78c2ecf20Sopenharmony_ci# 88c2ecf20Sopenharmony_ci# Copyright (C) Facebook, 2020 98c2ecf20Sopenharmony_ci# 108c2ecf20Sopenharmony_ci# Authors: Paul E. McKenney <paulmck@kernel.org> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cii="$1" 138c2ecf20Sopenharmony_ciif test -d "$i" -a -r "$i" 148c2ecf20Sopenharmony_cithen 158c2ecf20Sopenharmony_ci : 168c2ecf20Sopenharmony_cielse 178c2ecf20Sopenharmony_ci echo Unreadable results directory: $i 188c2ecf20Sopenharmony_ci exit 1 198c2ecf20Sopenharmony_cifi 208c2ecf20Sopenharmony_ci. functions.sh 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciconfigfile=`echo $i | sed -e 's/^.*\///'` 238c2ecf20Sopenharmony_cinscfs="`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'`" 248c2ecf20Sopenharmony_ciif test -z "$nscfs" 258c2ecf20Sopenharmony_cithen 268c2ecf20Sopenharmony_ci echo "$configfile ------- " 278c2ecf20Sopenharmony_cielse 288c2ecf20Sopenharmony_ci dur="`sed -e 's/^.* scftorture.shutdown_secs=//' -e 's/ .*$//' < $i/qemu-cmd 2> /dev/null`" 298c2ecf20Sopenharmony_ci if test -z "$dur" 308c2ecf20Sopenharmony_ci then 318c2ecf20Sopenharmony_ci rate="" 328c2ecf20Sopenharmony_ci else 338c2ecf20Sopenharmony_ci nscfss=`awk -v nscfs=$nscfs -v dur=$dur ' 348c2ecf20Sopenharmony_ci BEGIN { print nscfs / dur }' < /dev/null` 358c2ecf20Sopenharmony_ci rate=" ($nscfss/s)" 368c2ecf20Sopenharmony_ci fi 378c2ecf20Sopenharmony_ci echo "${configfile} ------- ${nscfs} SCF handler invocations$rate" 388c2ecf20Sopenharmony_cifi 39