+++ /dev/null
-#!/bin/bash
-#
-# Wrapper for automating benchmarking runs.
-# Usage: bench passes user group [script]
-#
-# ..where passes is the number of times to run each script; uid/gid
-# gives credentials to use when running the script; and script is a
-# simple wrapper around each actual benchmark tool (eg. see run.*),
-# if this is ommited, all run.* scripts are used in turn.
-#
-# Each run.foo script should report a comma-separated-value list of
-# benchmark results on stdout or fail with a non-zero exit code;
-# unless the -i option is supplied in which case it should instead
-# report a comma-separated-value list of column headers (for report
-# generation purposes).
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#-----------------------------------------------------------------------
-#
-# creator
-owner=nathans@sgi.com
-
-iam=bench
-tmp=/tmp/$$
-here=`pwd`; export here
-status=1 # failure is the default!
-
-# get standard environment, filters and checks
-. ./common.rc
-. ./common.filter
-
-_cleanup()
-{
- echo " *** umount"
- umount $SCRATCH_DEV >/dev/null 2>&1
- rm -f $tmp.*
-}
-
-OUT="bench.out"
-LOG="bench.log"
-FULL="bench.full"
-
-_log()
-{
- echo "$*" 1>&2
- echo "$*" >>$LOG
- echo "$*" >>$FULL
- sync
-}
-
-_logp()
-{
- tee -a $FULL
-}
-
-_fail()
-{
- _log "$*"
- status=1
- exit 1
-}
-
-_run_benchmark()
-{
- pass=1
- uid=`id -u $user`
- gid=`id -g $group`
-
- while [ $pass -le $passes -o $passes -lt 0 ]
- do
- _log " *** clean scratch device [$bench starting, pass $pass]"
- _scratch_mkfs 2>&1 | _fix_malloc >>$FULL
- _log " *** mounting scratch device"
- _scratch_mount || _fail " !!! failed to mount"
-
- _log " *** mkdir"
- mkdir $SCRATCH_MNT/bench \
- || _fail " !!! couldn't mkdir benchdir"
- chown -R $user.$group $SCRATCH_MNT/bench \
- || _fail " !!! couldn't chown benchdir"
-
- cd $SCRATCH_MNT/bench
- seq=`perl -e 'printf "results.%s.%03d\n", '$bench', '$pass`
- rm -f $seq $tmp.out
-
- _log " *** bench [$seq]"
- $here/src/runas -u $uid -g $gid $here/run.$bench >$tmp.out 2>>$FULL
- [ $? -eq 0 ] || _fail " !!! $bench pass $pass failed"
-
- cd $here
- _fix_malloc < $tmp.out > $seq
-
- _log " *** unmounting scratch device"
- umount $SCRATCH_DEV 2>&1 | _logp \
- || _fail " !!! failed to umount"
-
- _log " *** post-umount filesystem check"
- _check_scratch_fs
-
- let "pass = pass + 1"
- done
-}
-
-_merge_results()
-{
- echo Results for $bench benchmark
- $here/run.$bench -h
- echo results.$bench.* | sort -nu | xargs cat
- echo
-}
-
-# real QA test starts here
-
-if [ $# -lt 3 ]; then
- echo Usage: bench passes user group [script]
- exit 1
-fi
-
-passes=$1
-user=$2
-group=$3
-shift; shift; shift
-
-if [ $# -gt 0 ]; then
- benches="$@"
-else
- benches=`echo run.* | sed -e 's/run\.//g'`
-fi
-[ -z "$benches" -o "$benches" = "*" ] && _fail "no benchmark scripts found"
-
-trap "_cleanup; exit \$status" 0 1 2 3 15
-
-_require_scratch
-rm -f bench.* results.*
-
-FULL_FSTYP_DETAILS=`_full_fstyp_details`
-FULL_HOST_DETAILS=`_full_platform_details`
-FULL_MKFS_OPTIONS=`_scratch_mkfs_options`
-FULL_MOUNT_OPTIONS=`_scratch_mount_options`
-
-# $OUT is the report which will ultimately be sent, keep it tidy.
-cat >$OUT <<EOF
-FSTYP -- $FULL_FSTYP_DETAILS
-PLATFORM -- $FULL_HOST_DETAILS
-MKFS_OPTIONS -- $FULL_MKFS_OPTIONS
-MOUNT_OPTIONS -- $FULL_MOUNT_OPTIONS
-
-EOF
-
-for bench in $benches
-do
- echo "" >>$FULL
- echo "" >$LOG
- _log "*** benchmark started [passes=$passes, benchmark=$bench]"
- _log "*** (`date`)"
- _log "MKFS_OPTIONS -- $FULL_MKFS_OPTIONS"
- _log "MOUNT_OPTIONS -- $FULL_MOUNT_OPTIONS"
- _log " *** unmounting scratch device"
- umount $SCRATCH_DEV 2>&1 | _fix_malloc >>$FULL
-
- _run_benchmark | _fix_malloc
- _merge_results >>$OUT
-
- _log "*** done $bench"
-done
-status=0
+++ /dev/null
-##/bin/bash
-#
-# Copyright (c) 2002-2004 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-
-#check bonnie is installed
-if [ "`whereis bonnie++`" == "bonnie++:"]; then
- echo $0 error bonnie not installed.
- exit
-fi
-
-run_bonnie()
-{
- # dir, no hostname, quiet, fast (no per-char), ram (no sz checks)
- tmp=/var/tmp
-
- mkdir ./bonnie || exit 1
- defaults="-d ./bonnie -q -f -r 0"
- defaults="$defaults -u "`id -u`" -g "`id -g`
- bonnie++ -m '' $defaults $@ >$tmp/$$.bonnie.stdout 2>$tmp/$$.bonnie.stderr
- status=$?
- rm -fr ./bonnie
- [ $status -ne 0 ] && exit 1
- filter_stdout < $tmp/$$.bonnie.stdout
- filter_stderr < $tmp/$$.bonnie.stderr 1>&2
- rm -f $tmp/$$.bonnie.stdout $tmp/$$.bonnie.stderr
- exit 0
-}
# below or a separate local configuration file can be used (using
# the HOST_OPTIONS variable).
# - This script is shared by the stress test system and the auto-qa
-# system (includes both regression test and benchmark components).
+# system
# - TEST_DEV & TEST_DIR must be assigned.
# - this script shouldn't make any assertions about filesystem
# validity or mountedness.
export XFSDUMP_PROG="$__XFSDUMP_PROG -e"
export XFSRESTORE_PROG="`set_prog_path xfsrestore`"
export XFSINVUTIL_PROG="`set_prog_path xfsinvutil`"
-export DBENCH_PROG="`set_prog_path dbench`"
export GETFATTR_PROG="`set_prog_path getfattr`"
export SETFATTR_PROG="`set_prog_path setfattr`"
export ATTR_PROG="`set_prog_path attr`"
+++ /dev/null
-##/bin/bash
-#
-# Copyright (c) 2002-2005 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-
-#check dbench is installed
-if [ "`whereis dbench`" == "dbench:" ]; then
- echo $0 error dbench not installed.
- exit
-fi
-
-_run_dbench()
-{
- mkdir ./dbench || exit 1
- cd dbench
- dbench -x $1
- status=$?
- cd ..
- rm -fr ./dbench
- [ $status -ne 0 ] && exit 1
-}
-
-#
-# Sample dbench output:
-# "Throughput 40.6701 MB/sec (NB=50.8376 MB/sec 406.701 MBit/sec)"
-#
-
-# Output for a single-shot dbench run.
-_format_header()
-{
- printf "%8s, %s\n" clients MB/sec
-}
-_filter_dbench()
-{
- clients=$1
- perl -ne 'm/Throughput (\S+) MB\/sec/ &&
- { printf "%8u, %s\n", '$clients', $1 }'
-}
-
-# Output for a "multipass" dbench run.
-_format_header_multipass()
-{
- while [ $# -gt 1 ]; do
- printf "%4s::MB/sec," $1
- shift
- done
- printf "%4s::MB/sec\n" $1
-}
-_filter_dbench_multipass()
-{
- perl -ne '
- if (m/Throughput (\S+) MB\/sec/) {
- $results[$count++] = $1;
- }
- END { for ($i = 0; $i < $count - 1; $i++) {
- printf "%12.3f,", $results[$i];
- }
- printf "%12.3f\n", $results[$count-1];
- }'
-}
+++ /dev/null
-##/bin/bash
-#
-# Copyright (c) 2003-2005 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-
-_format_metaperf()
-{
- perl -ne 'm/(\S+): (\d+) times, (\d+) file\(s\) namelen (\d+), time = (\S+) sec, ops\/sec=(\S+), usec\/op = (\S+)/ && { $op{$1} = $7 };
- END { printf "%8.2f,%8.2f,%8.2f,%8.2f,%8.2f,%8.2f,%8.2f,%8.2f\n",
- $op{"chown"}, $op{"create"}, $op{"crunlink"}, $op{"linkun"},
- $op{"open"}, $op{"rename"}, $op{"stat"}, $op{"readdir"} }'
-}
-
-_format_header()
-{
- # note: we're reporting only the usec/op field
- printf "%8s,%8s,%8s,%8s,%8s,%8s,%8s,%8s\n" \
- chown create crulink linkun open rename stat readdir
-}
-
-allops="chown create crunlink linkun open rename stat readdir"
################################################################################
-if [ "$iam" != new -a "$iam" != bench ]
+if [ "$iam" != new ]
then
# make some further configuration checks here
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Does a bonnie throughput run (80M file and 1K chunksize if the
-# BONNIE_FILESIZE and/or BONNIE_CHUNKSIZE variables are not set),
-# then massages the output into CSV format with the human-readable
-# output preceding it as a "comment" (ie. #-prefixed).
-#
-BONNIE_FILESIZE=${BONNIE_FILESIZE:=500M}
-BONNIE_CHUNKSIZE=${BONNIE_CHUNKSIZE:=1K}
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.bonnie
-
-#
-# Sample bonnie throughput output (stderr):
-#Version 1.02c ------Sequential Output------ --Sequential Input- --Random-
-# -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
-#Machine Size:chnk K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
-# 150M:64k 52024 99 88969 99 245492 100 3746 264
-#
-filter_stderr()
-{
- sed -e 's/^..................../# /g' | awk '{print} END {print "#"}'
-}
-
-#
-# Sample bonnie throughput output (stdout):
-# ",150M:64k,,,52024,99,88969,99,,,245492,100,3746.0,264,,,,,,,,,,,,,"
-#
-filter_stdout()
-{
- perl -ne '
- chomp;
- s/,+/,/g; s/^,//; s/,$//;
- @values = split /,/;
- printf "%9s", shift @values;
- for ($i = 0; $i <= $#values; $i++) {
- if ($i % 2) { printf ",%4s%%", $values[$i] }
- else { printf ",%10s", $values[$i] }
- }
- printf "\n";
- '
-}
-
-if [ $# -gt 0 ]; then
- printf "%9s,%10s,%5s,%10s,%5s,%10s,%5s,%10s,%5s\n" size:chnk \
- writeK/s wCPU rewriteK/s rwCPU readK/s rCPU seek/s sCPU
- exit 0
-fi
-run_bonnie -n 0 -s $BONNIE_FILESIZE:$BONNIE_CHUNKSIZE
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Do a bonnie++ create/read/delete run using 8192 files (unless
-# BONNIE_KFILES environment variable is set -- note this number
-# is multiplied by 1024 by bonnie++). By default the files are
-# created in the same directory, BONNIE_NDIRS specifies a count
-# of subdirs to evenly spread files through. Regular files are
-# created by default (BONNIE_FILETYPE=regular), alternatively
-# the values "symlinks" and "hardlinks" can be used.
-#
-# The script then massages the output into CSV format with the
-# human-readable output preceding it as a "comment" (#-prefixed).
-#
-BONNIE_NDIRS=${BONNIE_NDIRS:=1}
-BONNIE_KFILES=${BONNIE_KFILES:=8}
-BONNIE_FILETYPE=${BONNIE_FILETYPE:=regular}
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.bonnie
-
-#
-# Sample bonnie throughput output (stderr):
-#Version 1.02c ------Sequential Create------ --------Random Create--------
-# -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
-# files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
-# 4 525 27 +++++ +++ 517 26 526 25 +++++ +++ 230 12
-# [ Note: the "files" can also be "^files:max" and possibly other things ]
-filter_stderr()
-{
- sed -e 's/^..................../# /g' | awk '{print} END {print "#"}'
-}
-
-#
-# Sample bonnie IOPs output (stdout):
-# ",,,,,,,,,,,,,,4,525,27,+++++,+++,517,26,526,25,+++++,+++,230,12"
-# [ nathans note: always get +++ due to 0:0 for min:max file sizes. ]
-# [ I will need to fix the filter if I ever start using file sizes. ]
-#
-filter_stdout()
-{
- perl -ne '
- chomp;
- s/\+*//g; s/,+/,/g; s/^,//; s/,$//;
- @values = split /,/;
- printf "%9s", 1024 * shift @values;
- for ($i = 0; $i <= $#values; $i++) {
- if ($i % 2) { printf ",%4s%%", $values[$i] }
- else { printf ",%10s", $values[$i] }
- }
- printf "\n";
- '
-}
-
-if [ $# -gt 0 ]; then
- printf "%9s,%10s,%5s,%10s,%5s,%10s,%5s,%10s,%5s\n" files \
- seqCR/s scCPU seqRM/s srCPU randCR/s rcCPU randRM/s rrCPU
- exit 0
-fi
-
-case "$BONNIE_FILETYPE"
-in
- regular) BONNIE_FILETYPE=0 ;;
- symlink) BONNIE_FILETYPE=-2 ;;
- hardlink) BONNIE_FILETYPE=-1 ;;
- *) echo "BONNIE_FILETYPE has an unrecognised value" && exit 1 ;;
-esac
-
-run_bonnie -s 0 -n $BONNIE_KFILES:$BONNIE_FILETYPE:0:$BONNIE_NDIRS
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Does a single-client dbench run
-#
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.dbench
-
-if [ $# -gt 0 ]; then
- _format_header
- exit 0
-fi
-_run_dbench 1 | _filter_dbench 1
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Does a dbench run with 10 clients
-#
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.dbench
-
-if [ $# -gt 0 ]; then
- _format_header
- exit 0
-fi
-_run_dbench 10 | _filter_dbench 10
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Does a dbench run with 100 clients
-#
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.dbench
-
-if [ $# -gt 0 ]; then
- _format_header
- exit 0
-fi
-_run_dbench 100 | _filter_dbench 100
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Does a dbench run with 2 clients
-#
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.dbench
-
-if [ $# -gt 0 ]; then
- _format_header
- exit 0
-fi
-_run_dbench 2 | _filter_dbench 2
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Does a dbench run with 20 clients
-#
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.dbench
-
-if [ $# -gt 0 ]; then
- _format_header
- exit 0
-fi
-_run_dbench 20 | _filter_dbench 20
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Does a dbench run with 50 clients
-#
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.dbench
-
-if [ $# -gt 0 ]; then
- _format_header
- exit 0
-fi
-_run_dbench 50 | _filter_dbench 50
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Does several dbench runs with increasing numbers of client
-#
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.dbench
-
-if [ $# -gt 0 ]; then
- _format_header_multipass 1 2 10 20 #50
- exit 0
-fi
-tmpfile=/var/tmp/dbench.$$
-rm -f $tmpfile
-_run_dbench 1 >> $tmpfile
-_run_dbench 2 >> $tmpfile
-_run_dbench 10 >> $tmpfile
-_run_dbench 20 >> $tmpfile
-#_run_dbench 50 >> $tmpfile
-_filter_dbench_multipass < $tmpfile
-rm -f $tmpfile
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2005 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# (very) simple file IO tests.
-# TODO: make file size multiple of physmem.
-
-filesize=1g
-iosize=64k
-
-if [ $# -gt 0 ]; then
- printf "%s,%s,%s,%s,%s\n" type bytes ops time bytes/sec ops/sec
- exit 0
-fi
-
-# buffered write
-echo -n bwrite,
-xfs_io iofile -Fft -c "pwrite -C -b $iosize 0 $filesize"
-
-# direct write
-echo -n dwrite,
-xfs_io iofile -Fftd -c "pwrite -C -b $iosize 0 $filesize"
-
-# buffered re-write
-echo -n brwrite,
-xfs_io iofile -F -c "pwrite -C -b $iosize 0 $filesize"
-
-# direct re-write
-echo -n drwrite,
-xfs_io iofile -Fd -c "pwrite -C -b $iosize 0 $filesize"
-
-# buffered read
-echo -n bread,
-xfs_io iofile -F -c "pread -C -b $iosize 0 $filesize"
-
-# buffered re-read
-echo -n brread,
-xfs_io iofile -F -c "pread -C -b $iosize 0 $filesize"
-
-# direct read
-echo -n dread,
-xfs_io iofile -Fd -c "pread -C -b $iosize 0 $filesize"
-
-# direct re-read
-echo -n drread,
-xfs_io iofile -Fd -c "pread -C -b $iosize 0 $filesize"
-
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Runs the metaperf metadata micro-benchmark.
-# Use 1000 files, 10 iterations.
-#
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.metaperf
-
-if [ $# -gt 0 ]; then
- _format_header
- exit 0
-fi
-
-$here/src/metaperf -d . -i 10 -n 1000 -l15 $allops | _format_metaperf
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Runs the metaperf metadata micro-benchmark.
-# Use 1 file, 10 iterations.
-#
-
-[ -z "$here" ] && here=`pwd`
-. $here/common.metaperf
-
-if [ $# -gt 0 ]; then
- _format_header
- exit 0
-fi
-
-$here/src/metaperf -d . -i 10 -n 1 -l15 $allops | _format_metaperf
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2003 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# Runs the metaperf metadata micro-benchmark.
-# Use 1 file, 1 iteration. (worst case)
-#
-
-. $here/common.metaperf
-
-if [ $# -gt 0 ]; then
- _format_header
- exit 0
-fi
-
-$here/src/metaperf -d . -i 1 -n 1 -l15 $allops | _format_metaperf
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2005 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# (very) simple parallel IO tests.
-# TODO: make file size multiple of physmem.
-
-filesize=1g
-iosize=64k
-
-if [ $# -gt 0 ]; then
- printf "%s,%s,%s,%s,%s\n" type bytes ops time bytes/sec ops/sec
- exit 0
-fi
-
-# buffered write
-echo -n bwrite,
-xfs_io iofile1 -Fft -c "pwrite -C -b $iosize 0 $filesize" &
-xfs_io iofile2 -Fft -c "pwrite -C -b $iosize 0 $filesize"
-
-# direct write
-echo -n dwrite,
-xfs_io iofile1 -Fftd -c "pwrite -C -b $iosize 0 $filesize" &
-xfs_io iofile2 -Fftd -c "pwrite -C -b $iosize 0 $filesize"
-
-# buffered re-write
-echo -n brwrite,
-xfs_io iofile1 -F -c "pwrite -C -b $iosize 0 $filesize" &
-xfs_io iofile2 -F -c "pwrite -C -b $iosize 0 $filesize"
-
-# direct re-write
-echo -n drwrite,
-xfs_io iofile1 -Fd -c "pwrite -C -b $iosize 0 $filesize" &
-xfs_io iofile2 -Fd -c "pwrite -C -b $iosize 0 $filesize"
-
-# buffered read
-echo -n bread,
-xfs_io iofile1 -F -c "pread -C -b $iosize 0 $filesize" &
-xfs_io iofile2 -F -c "pread -C -b $iosize 0 $filesize"
-
-# buffered re-read
-echo -n brread,
-xfs_io iofile1 -F -c "pread -C -b $iosize 0 $filesize" &
-xfs_io iofile2 -F -c "pread -C -b $iosize 0 $filesize"
-
-# direct read
-echo -n dread,
-xfs_io iofile1 -Fd -c "pread -C -b $iosize 0 $filesize" &
-xfs_io iofile2 -Fd -c "pread -C -b $iosize 0 $filesize"
-
-# direct re-read
-echo -n drread,
-xfs_io iofile1 -Fd -c "pread -C -b $iosize 0 $filesize" &
-xfs_io iofile2 -Fd -c "pread -C -b $iosize 0 $filesize"
-
+++ /dev/null
-#!/bin/bash
-#
-# Copyright (c) 2005 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-#
-# (very) simple file realtime IO tests.
-# TODO: make file size multiple of physmem.
-
-filesize=1g
-iosize=64k
-
-if [ $# -gt 0 ]; then
- printf "%s,%s,%s,%s,%s\n" type bytes ops time bytes/sec ops/sec
- exit 0
-fi
-
-# buffered write
-echo -n bwrite,
-xfs_io iofile -Rft -c "pwrite -C -b $iosize 0 $filesize"
-
-# direct write
-echo -n dwrite,
-xfs_io iofile -Rftd -c "pwrite -C -b $iosize 0 $filesize"
-
-# buffered re-write
-echo -n brwrite,
-xfs_io iofile -R -c "pwrite -C -b $iosize 0 $filesize"
-
-# direct re-write
-echo -n drwrite,
-xfs_io iofile -Rd -c "pwrite -C -b $iosize 0 $filesize"
-
-# buffered read
-echo -n bread,
-xfs_io iofile -R -c "pread -C -b $iosize 0 $filesize"
-
-# buffered re-read
-echo -n brread,
-xfs_io iofile -R -c "pread -C -b $iosize 0 $filesize"
-
-# direct read
-echo -n dread,
-xfs_io iofile -Rd -c "pread -C -b $iosize 0 $filesize"
-
-# direct re-read
-echo -n drread,
-xfs_io iofile -Rd -c "pread -C -b $iosize 0 $filesize"
-
+++ /dev/null
-#!/bin/bash
-#
-# Produces a .tar file (if one doesn't exist as $TARFILE), then
-# times how long it takes to untar it onto the current directory.
-#
-TARFILE=${TARFILE:=/var/tmp/bench.tar.gz}
-
-barf()
-{
- echo $@ >2
- exit 1
-}
-
-new_tar()
-{
- source="bin sbin lib"
- if [ ! -f $TARFILE ]; then
- ( cd / && tar czf $TARFILE $source ) || barf "tar cz failed"
- fi
-}
-
-run_tar()
-{
- # %U=user %S=system %E=elapsed
- mkdir ./tar || exit 1
- size=`ls -Llh $TARFILE | awk '{print $5}'`
- time=`/usr/bin/time -f '%U, %S, %E' tar xzf $TARFILE 2>&1`
- status=$?
- cd ..
- rm -fr ./tar
- [ $status -eq 0 ] || exit 1
- printf "%6s, %s\n" "$size" "$time"
-}
-
-if [ $# -gt 0 ]; then
- printf "%6s,%5s,%5s,%8s\n" sz usr sys real
- exit 0
-fi
-new_tar
-run_tar