~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/bash
  2 # SPDX-License-Identifier: GPL-2.0+
  3 #
  4 # Analyze a given results directory for rcutorture progress.
  5 #
  6 # Usage: kvm-recheck-rcu.sh resdir
  7 #
  8 # Copyright (C) IBM Corporation, 2014
  9 #
 10 # Authors: Paul E. McKenney <paulmck@linux.ibm.com>
 11 
 12 i="$1"
 13 if test -d "$i" -a -r "$i"
 14 then
 15         :
 16 else
 17         echo Unreadable results directory: $i
 18         exit 1
 19 fi
 20 . functions.sh
 21 
 22 configfile=`echo $i | sed -e 's/^.*\///'`
 23 ngps=`grep ver: $i/console.log 2> /dev/null | tail -1 | sed -e 's/^.* ver: //' -e 's/ .*$//'`
 24 stopstate="`grep 'End-test grace-period state: g' $i/console.log 2> /dev/null |
 25             tail -1 | sed -e 's/^\[[ 0-9.]*] //' |
 26             awk '{ print \"[\" $1 \" \" $5 \" \" $6 \" \" $7 \"]\"; }' |
 27             tr -d '\012\015'`"
 28 fwdprog="`grep 'rcu_torture_fwd_prog n_max_cbs: ' $i/console.log 2> /dev/null | sed -e 's/^\[[^]]*] //' | sort -k3nr | head -1 | awk '{ print $2 " " $3 }' | tr -d '\015'`"
 29 if test -z "$ngps"
 30 then
 31         echo "$configfile ------- " $stopstate
 32 else
 33         title="$configfile ------- $ngps GPs"
 34         dur=`grep -v '^#' $i/qemu-cmd | sed -e 's/^.* rcutorture.shutdown_secs=//' -e 's/ .*$//'`
 35         if test -z "$dur"
 36         then
 37                 :
 38         else
 39                 ngpsps=`awk -v ngps=$ngps -v dur=$dur '
 40                         BEGIN { print ngps / dur }' < /dev/null`
 41                 title="$title ($ngpsps/s)"
 42         fi
 43         echo $title $stopstate $fwdprog
 44         nclosecalls=`grep --binary-files=text 'torture: Reader Batch' $i/console.log | tail -1 | \
 45                 awk -v sum=0 '
 46                 {
 47                         for (i = 0; i <= NF; i++) {
 48                                 sum += $i;
 49                                 if ($i ~ /Batch:/) {
 50                                         sum = 0;
 51                                         i = i + 2;
 52                                 }
 53                         }
 54                 }
 55 
 56                 END {
 57                         print sum
 58                 }'`
 59         if test -z "$nclosecalls"
 60         then
 61                 exit 0
 62         fi
 63         if test "$nclosecalls" -eq 0
 64         then
 65                 exit 0
 66         fi
 67         # Compute number of close calls per tenth of an hour
 68         nclosecalls10=`awk -v nclosecalls=$nclosecalls -v dur=$dur 'BEGIN { print int(nclosecalls * 36000 / dur) }' < /dev/null`
 69         if test $nclosecalls10 -gt 5 -a $nclosecalls -gt 1
 70         then
 71                 print_bug $nclosecalls "Reader Batch close calls in" $(($dur/60)) minute run: $i
 72         else
 73                 print_warning $nclosecalls "Reader Batch close calls in" $(($dur/60)) minute run: $i
 74         fi
 75         echo $nclosecalls "Reader Batch close calls in" $(($dur/60)) minute run: $i > $i/console.log.rcu.diags
 76 fi

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php