From 6fdb226c0c56ce9788c06d003f5f9ad15b21eb5b Mon Sep 17 00:00:00 2001 From: zab <zab> Date: Tue, 10 Feb 2004 22:25:15 +0000 Subject: [PATCH] - record 'readprofile' profiles if they are available - record all the test commands that are run --- lustre/scripts/bdev-io-survey.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lustre/scripts/bdev-io-survey.sh b/lustre/scripts/bdev-io-survey.sh index cea3066b14..d9355a0bfc 100755 --- a/lustre/scripts/bdev-io-survey.sh +++ b/lustre/scripts/bdev-io-survey.sh @@ -22,6 +22,9 @@ declare -a cleanup_mounts cur_y="0" # a global which funcs use to get at the blocks[] array last_block=-1 +# prefix to run oprofile or readprofile +oprofile="" +readprofile="" # defaults for some options: min_threads=1 @@ -598,11 +601,13 @@ test_one() { done $oprofile opcontrol --reset + $readprofile -r # start all the tests. each returns a pid to wait on pids="" for i in `seq 0 $last_block`; do local cmd=`${test}_start $threads $iosize $wor $i` + echo "$cmd" >> $tmpdir/commands $cmd > $tmpdir/$i 2>&1 & local pid=$! pids="$pids $pid" @@ -628,11 +633,15 @@ test_one() { pid_has_stopped $pid done + $readprofile | sort -rn > $tmpdir/readprofile + $oprofile opcontrol --shutdown $oprofile opreport > $tmpdir/oprofile echo >> $tmpdir/oprofile $oprofile opreport -c -l | head -20 >> $tmpdir/oprofile + save_output $tmpdir/oprofile $opref.oprofile + save_output $tmpdir/readprofile $opref.readprofile # collect the results of vmstat and iostat cpu=$(mean_stddev $(awk \ @@ -792,6 +801,18 @@ else oprofile=": " fi +if which readprofile; then + map="/boot/System.map-`uname -r`" + if [ -f /proc/profile -a -f "$map" ]; then + echo generating profiles with 'readprofile' + readprofile="readprofile -m $map" + fi +fi +if [ -z "$readprofile" ]; then + echo not using readprofile + readprofile=": " +fi + [ $min_threads -gt $max_threads ] && \ die "min threads $min_threads must be <= min_threads $min_threads" @@ -832,6 +853,8 @@ for t in $run_tests; do test_results="$test_results $t" done +save_output $tmpdir/commands commands + [ ! -z "$test_results" ] && ( echo echo "T = number of concurrent threads per device" -- GitLab