162306a36Sopenharmony_ci#!/bin/bash 262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0+ 362306a36Sopenharmony_ci# 462306a36Sopenharmony_ci# Analyze a given results directory for rcutorture progress. 562306a36Sopenharmony_ci# 662306a36Sopenharmony_ci# Usage: kvm-recheck-rcu.sh resdir 762306a36Sopenharmony_ci# 862306a36Sopenharmony_ci# Copyright (C) Facebook, 2020 962306a36Sopenharmony_ci# 1062306a36Sopenharmony_ci# Authors: Paul E. McKenney <paulmck@kernel.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cii="$1" 1362306a36Sopenharmony_ciif test -d "$i" -a -r "$i" 1462306a36Sopenharmony_cithen 1562306a36Sopenharmony_ci : 1662306a36Sopenharmony_cielse 1762306a36Sopenharmony_ci echo Unreadable results directory: $i 1862306a36Sopenharmony_ci exit 1 1962306a36Sopenharmony_cifi 2062306a36Sopenharmony_ci. functions.sh 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciconfigfile=`echo $i | sed -e 's/^.*\///'` 2362306a36Sopenharmony_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'`" 2462306a36Sopenharmony_ciif test -z "$nscfs" 2562306a36Sopenharmony_cithen 2662306a36Sopenharmony_ci echo "$configfile ------- " 2762306a36Sopenharmony_cielse 2862306a36Sopenharmony_ci dur="`grep -v '^#' $i/qemu-cmd | sed -e 's/^.* scftorture.shutdown_secs=//' -e 's/ .*$//' 2> /dev/null`" 2962306a36Sopenharmony_ci if test -z "$dur" 3062306a36Sopenharmony_ci then 3162306a36Sopenharmony_ci rate="" 3262306a36Sopenharmony_ci else 3362306a36Sopenharmony_ci nscfss=`awk -v nscfs=$nscfs -v dur=$dur ' 3462306a36Sopenharmony_ci BEGIN { print nscfs / dur }' < /dev/null` 3562306a36Sopenharmony_ci rate=" ($nscfss/s)" 3662306a36Sopenharmony_ci fi 3762306a36Sopenharmony_ci echo "${configfile} ------- ${nscfs} SCF handler invocations$rate" 3862306a36Sopenharmony_cifi 39