Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7e8240d authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

rcutorture: Print grace-period performance statistics



Sometime problems can manifest themselves as unusually slow grace periods.
This commit therefore prints the number of rcutorture updates during the
test and the number per second.  These statistics are harvested from the
config.out and qemu-cmd files, and are silently omitted if these files
are not available, as would be the case if there was a build failure or
a boot-time hang.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
parent 6d0abeca
Loading
Loading
Loading
Loading
+18 −1
Original line number Original line Diff line number Diff line
@@ -31,7 +31,24 @@ do
	for i in $dirs
	for i in $dirs
	do
	do
		configfile=`echo $i | sed -e 's/^.*\///'`
		configfile=`echo $i | sed -e 's/^.*\///'`
		ngps=`grep ver: $i/console.log 2> /dev/null | tail -1 | sed -e 's/^.* ver: //' -e 's/ .*$//'`
		if test -z "$ngps"
		then
			echo $configfile
			echo $configfile
		else
			title="$configfile ------- $ngps grace periods"
			dur=`sed -e 's/^.* rcutorture.shutdown_secs=//' -e 's/ .*$//' < $i/qemu-cmd 2> /dev/null`
			if test -z "$dur"
			then
				:
			else
				ngpsps=$((ngps / dur))
				ngpsps=`awk -v ngps=$ngps -v dur=$dur '
					BEGIN { print ngps / dur }' < /dev/null`
				title="$title ($ngpsps per second)"
			fi
			echo $title
		fi
		configcheck.sh $i/.config $i/ConfigFragment
		configcheck.sh $i/.config $i/ConfigFragment
		parse-build.sh $i/Make.out $configfile
		parse-build.sh $i/Make.out $configfile
		parse-rcutorture.sh $i/console.log $configfile
		parse-rcutorture.sh $i/console.log $configfile