1101 lines
28 KiB
Plaintext
Executable File
1101 lines
28 KiB
Plaintext
Executable File
:
|
||
: '@(#) SIIIsetup:3.8 6/20/92 21:12:50'
|
||
# SIIIsetup
|
||
#
|
||
# AIM Suite III v3.1.1
|
||
# (C) Copyright AIM Technology Inc. 1986,87,88,89,90,91,92.
|
||
# All Rights Reserved.
|
||
#
|
||
#
|
||
|
||
NNL=
|
||
CCL=
|
||
|
||
#
|
||
# first, figure out how to make echo work without automatic newline
|
||
#
|
||
if echo "\c" | grep c >/dev/null 2>&1
|
||
then
|
||
NNL='-n'
|
||
else
|
||
CCL='\c'
|
||
fi
|
||
|
||
#
|
||
# are we doing an APR ?
|
||
#
|
||
case "$1" in
|
||
"") DOAPR=NO ; break;;
|
||
"doapr") DOAPR=YES ; break;;
|
||
*) echo ;
|
||
echo "Usage: SIIIsetup<CR> or SIIIsetup doapr<CR>";
|
||
echo ;
|
||
exit 0;;
|
||
esac
|
||
case $# in
|
||
0) echo ; break;;
|
||
1) echo ; break;;
|
||
*) echo ;
|
||
echo "Usage: SIIIsetup<CR> or SIIIsetup doapr<CR>";
|
||
echo ;
|
||
exit 0;;
|
||
esac
|
||
#
|
||
# display intro
|
||
#
|
||
echo
|
||
echo
|
||
echo
|
||
echo " AIM Suite III SETUP"
|
||
echo " (C) Copyright AIM Technology Inc."
|
||
echo " 1986,87,88,89,90,91,92"
|
||
echo " All rights reserved"
|
||
echo
|
||
echo
|
||
echo "------------"
|
||
echo "INTRODUCTION"
|
||
echo "------------"
|
||
echo
|
||
if test "$DOAPR" = "YES"
|
||
then
|
||
echo "YOU HAVE INDICATED THAT THIS IS AN APR RUN."
|
||
echo
|
||
fi
|
||
echo "This script guides you through the steps needed to tailor the AIM Suite III"
|
||
echo "Benchmark to your environment. It will ask you a series of questions to"
|
||
echo "identify the components of the System Under Test (SUT). As each question is"
|
||
echo "displayed on the screen, you can accept the default value that is enclosed"
|
||
echo "in brackets (e.g. [default_value] ), or enter the correct value. At any"
|
||
echo "point during the execution of this script, you may type Q to terminate it."
|
||
echo
|
||
echo "CAUTION: This script will NOT automatically set up the correct environment"
|
||
echo "to run AIM Suite III. It is your responsibility to provide the correct"
|
||
echo "information for the computer and operating system that are being benchmarked."
|
||
echo "Verify and edit the files Makefile and suite3.h as required before running"
|
||
echo "AIM Suite III."
|
||
echo
|
||
echo
|
||
while :
|
||
do
|
||
echo $NNL "Press RETURN to continue, press Q to exit ...$CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"") break ;;
|
||
Q) exit 0;;
|
||
*) echo ; echo "\"$ANS\" is not allowed ... ^G";;
|
||
esac
|
||
done
|
||
echo
|
||
echo
|
||
echo
|
||
echo "You will be asked to provide the following information about the system"
|
||
echo "to be tested:"
|
||
echo
|
||
echo " 1) The version of UNIX (TM) from which the operating system under test"
|
||
echo " was derived"
|
||
echo
|
||
echo " 2) Your compiler name"
|
||
echo
|
||
echo " 3) The compile flags to be used"
|
||
echo
|
||
echo " 4) The link options to be used"
|
||
echo
|
||
echo " 5) The timer function to be used"
|
||
echo
|
||
echo " 6) The HZ value of the SUT"
|
||
echo
|
||
echo " 7) The mount point for all configured disk drives, if the SUT is configured"
|
||
echo " with more than one drive"
|
||
echo
|
||
echo "If you do not know or are unsure about any of the items mentioned above,"
|
||
echo "press Q to terminate this installation script. Check with your System"
|
||
echo "Administrator or consult the SUT manuals for the correct information."
|
||
echo
|
||
echo
|
||
while :
|
||
do
|
||
echo $NNL "Press RETURN to continue, press Q to exit ...$CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"") break ;;
|
||
Q) exit 0;;
|
||
*) echo ; echo "\"$ANS\" is not allowed ... ^G";;
|
||
esac
|
||
done
|
||
#
|
||
# init default settings
|
||
#
|
||
DSYSTYPE=
|
||
DHZ=
|
||
CC=cc
|
||
DCCOPT=-O
|
||
DTIMETYPE=
|
||
T_TIMES=1
|
||
T_FTIME=1
|
||
NO_OLD_APRINFO=NO
|
||
|
||
echo "-------------"
|
||
echo "UNIX(TM) O.S."
|
||
echo "-------------"
|
||
echo
|
||
echo "Which flavor of UNIX(TM) was your Operating System derived from?"
|
||
echo
|
||
echo " 1) System V"
|
||
echo " 2) Berkeley"
|
||
echo " 3) Xenix"
|
||
echo
|
||
while :
|
||
do
|
||
echo "If you do not know, type Q to exit and find the correct answer."
|
||
echo
|
||
echo $NNL "Enter operating system type (1, 2 ,3 or Q) [] :$CCL"
|
||
read ANS
|
||
|
||
case "$ANS" in
|
||
1) DSYSTYPE=SYS5; DTIMETYPE=times; DHZ=100; break;;
|
||
2) DSYSTYPE=V7; DTIMETYPE=ftime; DHZ=60; break;;
|
||
3) DSYSTYPE=SYS5; DTIMETYPE=times; DHZ=50; break;;
|
||
Q) exit 0;;
|
||
*) echo ; echo "\"$ANS\" is not allowed ... ^G";;
|
||
esac
|
||
done
|
||
#
|
||
echo
|
||
echo
|
||
echo "----------"
|
||
echo " COMPILER "
|
||
echo "----------"
|
||
echo
|
||
echo "Enter the name of the C compiler you wish to use for this run."
|
||
echo
|
||
echo " Please use BOTH upper and lower case, exactly as required by your"
|
||
echo " compiler."
|
||
echo
|
||
echo $NNL "Enter compiler name [$CC] :$CCL"
|
||
read ANS
|
||
if test ! "$ANS" = ""
|
||
then
|
||
CC=$ANS
|
||
fi
|
||
#
|
||
echo
|
||
echo
|
||
echo "-------------"
|
||
echo "COMPILE FLAGS"
|
||
echo "-------------"
|
||
echo
|
||
echo "Enter any compiler flags that can be specified for $CC. Some examples"
|
||
echo "of valid entries are listed below:"
|
||
echo
|
||
echo " \"-O\" to optimize code produced by \"pcc\" based compilers"
|
||
echo " \"-OP\" to do peephole optimization with the Pyramid OSx compiler"
|
||
echo " \"-O -f68881\" for optimization and floating point for Sun-3's"
|
||
echo
|
||
echo " Please use BOTH upper and lower case, exactly as required by your "
|
||
echo " compiler."
|
||
echo
|
||
echo " You may type Q to exit and look up the correct answer."
|
||
echo
|
||
echo $NNL "Enter compiler flags [$DCCOPT] :$CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
Q) exit 0 ;;
|
||
"") CCOPT=$DCCOPT ; break ;;
|
||
*) CCOPT=$ANS ; break ;;
|
||
esac
|
||
#
|
||
LDOPT=
|
||
echo
|
||
echo
|
||
echo "--------------"
|
||
echo "LINK LIBRARIES"
|
||
echo "--------------"
|
||
echo
|
||
echo "Are there any linker options that you should identify for AIM Suite III ?"
|
||
echo "For information on the linker, refer to the Programmer's Reference Manual"
|
||
echo "for your system. You might identify a non-standard location of a library"
|
||
echo "or system specific libraries that are needed to build AIM Suite III."
|
||
echo "For example, enter \"-Wl,L/usr/local/lib\" to search for libraries in"
|
||
echo "a \"/usr/local/lib\" directory."
|
||
echo
|
||
echo " Again, use BOTH upper and lower case, exactly as required by your"
|
||
echo " compiler."
|
||
echo
|
||
echo " You may type Q to exit and look up the correct answer."
|
||
echo
|
||
echo $NNL "Enter linker options [$LDOPT] :$CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
Q) exit 0 ;;
|
||
"") break;;
|
||
*) LDOPT=$ANS; break;;
|
||
esac
|
||
#
|
||
echo
|
||
echo
|
||
echo "-----"
|
||
echo "TIMER"
|
||
echo "-----"
|
||
echo
|
||
echo "You must identify the timer that your system uses. Usually, BSD based"
|
||
echo "UNIX(TM) use the ftime() function while AT&T System V and XENIX based"
|
||
echo "UNIX(TM) use the times() function. If you do not know the correct timer,"
|
||
echo "type Q to exit and find the correct timer function."
|
||
#
|
||
while :
|
||
do
|
||
echo
|
||
echo " Allowable entries are \"ftime\" "
|
||
echo " or \"times\" "
|
||
echo
|
||
echo " please use lower case"
|
||
echo
|
||
echo $NNL "Enter system timer type [$DTIMETYPE] :$CCL"
|
||
read ANS
|
||
#
|
||
case "$ANS" in
|
||
ftime) TIMETYPE="-DT_FTIME" ; break ;;
|
||
times) TIMETYPE="-DT_TIMES" ; break ;;
|
||
Q) exit 0 ;;
|
||
"") if test "$DTIMETYPE" = "times"
|
||
then
|
||
TIMETYPE="-DT_TIMES"
|
||
else
|
||
TIMETYPE="-DT_FTIME"
|
||
fi
|
||
break ;;
|
||
*) echo ; echo "\"$ANS\" is not allowed ...^G";
|
||
esac
|
||
done
|
||
#
|
||
echo
|
||
echo
|
||
echo "--------"
|
||
echo "HZ VALUE"
|
||
echo "--------"
|
||
echo
|
||
echo "Enter the HZ value for your system. For most UNIX(TM) Operating Systems,"
|
||
echo "HZ is defined in /usr/include/sys/param.h. However, this may vary with"
|
||
echo "some implementations. Check with your System Administrator or consult"
|
||
echo "your System manuals."
|
||
echo
|
||
while :
|
||
do
|
||
echo "You may type Q to exit and look up the correct HZ value."
|
||
echo
|
||
#if test "$DOAPR" = "YES"
|
||
#then
|
||
# echo "If you wish to use AIM calc_hz utility to calculate the HZ value, type C."
|
||
# echo
|
||
#fi
|
||
echo $NNL "Enter the HZ value [$DHZ] :$CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
[0-9][0-9]) HZ=$ANS; break;;
|
||
[0-9][0-9][0-9]) HZ=$ANS; break;;
|
||
Q) exit 0 ;;
|
||
"") HZ=$DHZ; break ;;
|
||
*) echo ; echo "\"$ANS\" is not allowed ...^G";;
|
||
# C) if test "$DOAPR" = "YES"
|
||
# then
|
||
# echo "Calculating HZ value ....."
|
||
# echo $NNL ".$CCL"
|
||
# $CC $CCOPT $LDOPT $SYS -o calc_hz -c calc_hz.c
|
||
# echo $NNL ".$CCL"
|
||
# ./calc_hz
|
||
# HZ=$?
|
||
# while :
|
||
# do
|
||
# echo "The computed HZ value for this system is $HZ."
|
||
# echo $NNL "Press Enter to accept it or Q to look up the correct HZ value : $CCL"
|
||
# read ANS
|
||
# case "$ANS" in
|
||
# "") break;;
|
||
# Q) exit 0;;
|
||
# *) echo ; echo "\"$ANS\" is not allowed ...^G";;
|
||
# esac
|
||
# done
|
||
# fi;;
|
||
esac
|
||
done
|
||
#
|
||
echo
|
||
echo
|
||
echo "----"
|
||
echo "DISK"
|
||
echo "----"
|
||
echo
|
||
echo "A multiuser system is greatly affected by the performance of its I/O"
|
||
echo "subsystems. Your disk subsystem has a big impact on Suite III results."
|
||
echo
|
||
echo "Generally, the more drives and controllers you have, the better your I/O"
|
||
echo "throughput will be. If you have configured your system with multiple disk"
|
||
echo "drives and would like Suite III to use them to benchmark your system, you"
|
||
echo "must list them in the \"config\" file."
|
||
echo
|
||
echo "For each installed drive that you would like Suite III to use, enter a line"
|
||
echo "item '3' giving its mount point like the following example:"
|
||
echo
|
||
echo " 3 \"/disk1\""
|
||
echo
|
||
echo "Currently Suite III can directly exercise up to 256 drives. If you are ready,"
|
||
echo "you may edit the \"config\" file now. The \"config\" file can be updated"
|
||
echo "anytime prior to starting Suite III."
|
||
echo
|
||
echo "Currently, item '3' in the file is:"
|
||
echo
|
||
egrep '^Disk|^3' config
|
||
echo
|
||
DANS=n
|
||
while :
|
||
do
|
||
echo $NNL "Do you want to edit the \"config\" file now (y/n) ? [$DANS] $CCL: "
|
||
read ANS
|
||
case "$ANS" in
|
||
n|N|no|NO) break;;
|
||
Q) exit 0 ;;
|
||
"") break ;;
|
||
y|Y|yes|YES)
|
||
numdrvs=1
|
||
rm -f /tmp/s3.tmp
|
||
cp config config.save
|
||
echo
|
||
echo "Simply press [ENTER] when you are done."
|
||
echo
|
||
echo "Examples: /drive1, /drive2, /drive3, etc."
|
||
echo
|
||
while :
|
||
do
|
||
MNTPOINT=
|
||
echo $NNL "Enter mount point for drive #$numdrvs: $CCL"
|
||
read MNTPOINT
|
||
if test -n "$MNTPOINT"
|
||
then
|
||
echo "3 \"$MNTPOINT\"" >>/tmp/s3.tmp
|
||
numdrvs=`expr $numdrvs + 1`
|
||
else
|
||
# if ($numdrvrs == 1)
|
||
# then
|
||
# echo "3 \"$MNTPOINT\"" >>/tmp/s3.tmp
|
||
# fi
|
||
break;
|
||
fi
|
||
done
|
||
numdrvs=`expr $numdrvs - 1`
|
||
if [ $numdrvs != 0 ]
|
||
then
|
||
echo
|
||
echo "$numdrvs are configured for the benchmark, and the mount points are:"
|
||
echo
|
||
cat /tmp/s3.tmp | sed -e 's/^.//'
|
||
ANS="s"
|
||
echo
|
||
echo $NNL "Do you want to save or abort this file (s/a)? [$ANS] $CCL: "
|
||
read ANS
|
||
case $ANS in
|
||
""|s|S)
|
||
cat /tmp/s3.tmp config | awk '
|
||
BEGIN {
|
||
first=1;
|
||
cnt=0;
|
||
once=0;
|
||
}
|
||
/^[*]+/ {
|
||
if (first) first=0;
|
||
}
|
||
{
|
||
if (!first) {
|
||
if ($1 == 3) {
|
||
if ( once == 0 ) {
|
||
for (i=0; i<cnt; i++) {
|
||
print mntpt[i];
|
||
}
|
||
}
|
||
once=1;
|
||
} else
|
||
print $0;
|
||
} else {
|
||
mntpt[cnt] = $0;
|
||
cnt++;
|
||
}
|
||
}' >/tmp/s3.config
|
||
mv -f /tmp/s3.config config
|
||
rm -f /tmp/s3.tmp
|
||
;;
|
||
*)
|
||
echo
|
||
echo "Aborted! You will need to manually edit the \"config\" file."
|
||
;;
|
||
esac
|
||
fi
|
||
break ;;
|
||
*) echo ; echo "\"$ANS\" is not allowed ...^G";;
|
||
esac
|
||
done
|
||
|
||
#
|
||
# create makefile
|
||
#
|
||
echo
|
||
echo $NNL "Creating \"Makefile\" ... $CCL"
|
||
|
||
rm -f Makefile
|
||
|
||
echo "# AIM Suite III v3.1 Makefile" > Makefile
|
||
echo "# (C) Copyright AIM Technology Inc. 1986,87,88,89,90,91,92." >> Makefile
|
||
echo "# All Rights Reserved." >> Makefile
|
||
echo "# Created on `date`" >> Makefile
|
||
echo "#" >> Makefile
|
||
#
|
||
if test "$DSYSTYPE" = "SYS5" -o "$DSYSTYPE" = "V7"; then
|
||
echo "SYS=-D$DSYSTYPE" >> Makefile
|
||
else
|
||
echo "SYS=" >> Makefile
|
||
fi
|
||
echo "CC=$CC" >> Makefile
|
||
echo "TIMETYPE=$TIMETYPE" >> Makefile
|
||
echo "CCOPT=$CCOPT" >> Makefile
|
||
echo "LDOPT=$LDOPT" >> Makefile
|
||
echo "DHZ=-DHZ=$HZ" >> Makefile
|
||
echo >> Makefile
|
||
echo "CFLAGS= \$(CCOPT) \$(TIMETYPE) \$(LDOPT) \$(DHZ) \$(SYS)" >> Makefile
|
||
#
|
||
cat >> Makefile <<END
|
||
|
||
TASKS = add.o disk1.o div.o fun.o funcal.o mul.o \\
|
||
pipe_cpy.o ram.o creat-clo.o disk_src.o
|
||
|
||
OBJS = multiuser.o vmctl.o tp_ctl.o ttyctl.o ttyinit.o ttyconf.o rand.o rtmsec.o \$(TASKS)
|
||
|
||
# ugly but portable, even on (very) dumb makes..
|
||
|
||
install: tsks multiuser .firsttime clean
|
||
./blend
|
||
|
||
.firsttime: report lptest blend gettime
|
||
cc -o gettime gettime.c
|
||
chmod a+x REPT
|
||
tar -xvf fakeh.tar
|
||
@touch .firsttime
|
||
|
||
mix:
|
||
./blend
|
||
|
||
tsks: \$(TASKS) suite3.h
|
||
|
||
report: plot filter
|
||
|
||
.c.o: suite3.h
|
||
\$(CC) \$(CFLAGS) -c \$*.c
|
||
|
||
multiuser: suite3.h vmdrvr tp_drvr ttydrvr \$(OBJS)
|
||
\$(CC) \$(CFLAGS) -o multiuser \$(OBJS)
|
||
|
||
blend: blend.c
|
||
\$(CC) \$(CFLAGS) -o blend blend.c
|
||
|
||
calc_hz: calc_hz.c
|
||
\$(CC) \$(CFLAGS) -o calc_hz calc_hz.c
|
||
|
||
plot: plot.c
|
||
\$(CC) \$(CFLAGS) -o plot plot.c
|
||
|
||
filter: filter.c
|
||
\$(CC) \$(CFLAGS) filter.c -o filter
|
||
|
||
vmctl.o vmdrvr.o: vmtest.h vmem.h testerr.h
|
||
|
||
vmdrvr: vmdrvr.o vmem.o
|
||
\$(CC) \$(CFLAGS) vmdrvr.o vmem.o -o vmdrvr
|
||
|
||
tp_drvr: tp_drvr.c tp_test.h testerr.h
|
||
\$(CC) \$(CFLAGS) tp_drvr.c -o tp_drvr
|
||
|
||
lptest: lptest.c
|
||
\$(CC) \$(CFLAGS) lptest.c -o lptest
|
||
|
||
tp_ctl.o: tp_test.h testerr.h
|
||
|
||
clean:
|
||
-@for i in *.[ch] ; \\
|
||
do \\
|
||
ls -l \$\$i | grep -s r--r--r-- ; \\
|
||
if [ \$\$? -eq 0 ] ; \\
|
||
then \\
|
||
rm -f \$\$i ; \\
|
||
fi ; \\
|
||
done
|
||
@rm -f *.o
|
||
|
||
OBJS1 = ttyctl.o ttydrvr.o ttyinit.o ttyconf.o
|
||
|
||
\$(OBJS1): ttytest.h testerr.h
|
||
|
||
ttydrvr: ttydrvr.o ttyinit.o ttyconf.o
|
||
\$(CC) \$(CFLAGS) ttydrvr.o ttyinit.o ttyconf.o -o ttydrvr
|
||
|
||
newrun:
|
||
@echo "Resetting AIM Suite III for another run."
|
||
@rm -f tmp* core *.o
|
||
|
||
reset:
|
||
@echo "Resetting AIM Suite III to new install condition."
|
||
@rm -f .firsttime
|
||
@rm -f workfile suite3.ss toutput results
|
||
@rm -f plot filter blend calc_hz input multiuser nohup.out
|
||
@rm -f RUN SAVE runit
|
||
@rm -f ttydrvr vmdrvr tp_drvr lptest
|
||
@rm -f tmp* core *.o
|
||
@rm -f input.auto output.auto nfs.stat
|
||
@rm -rf fakeh
|
||
@cp Makefile.s Makefile
|
||
|
||
END
|
||
#
|
||
rm -f tmp* core *.o
|
||
if test "$DOAPR" = "YES"
|
||
then
|
||
USE_OLD_APRINFO=NO
|
||
if test -f ../save/APRINFO
|
||
then
|
||
NO_OLD_APRINFO=FALSE
|
||
echo "There is an APRINFO file in the ../save directory already."
|
||
while :
|
||
do
|
||
echo
|
||
echo "Use the information in that APRINFO file for this Suite III run (y/n)? [y]: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
Y|y) USE_OLD_APRINFO=YES ; break ;;
|
||
N|n) USE_OLD_APRINFO=NO ; break ;;
|
||
"") USE_OLD_APRINFO=YES ; break ;;
|
||
*) echo ; echo "\"$ANS\" is not allowed ...^G";
|
||
esac
|
||
done
|
||
else
|
||
NO_OLD_APRINFO=TRUE
|
||
fi
|
||
if test "$USE_OLD_APRINFO" = "NO" -o "$NO_OLD_APRINFO" = "TRUE"
|
||
then
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter the name of the System Under Test [ex: MS8640]:$CCL"
|
||
read SUT_NAME
|
||
echo
|
||
while :
|
||
do
|
||
echo "The name of the System Under Test is $SUT_NAME."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter the price of the SUT as configured [ex: $77,568]:$CCL"
|
||
read SUT_PRICE
|
||
echo
|
||
while :
|
||
do
|
||
echo "The price of the SUT as configured is $SUT_PRICE."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter CPU type and number [ex: 88100(2)]:$CCL"
|
||
read SUT_CPU
|
||
echo
|
||
while :
|
||
do
|
||
echo "The CPU type and number is $SUT_CPU."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter CPU clock rate [ex: 25 MHz]:$CCL"
|
||
read SUT_CLOCKRATE
|
||
echo
|
||
while :
|
||
do
|
||
echo "The CPU clock rate is $SUT_CLOCKRATE."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter amount of external CPU cache [ex: 32 KB data, 32 KB inst.]:$CCL"
|
||
read SUT_CACHE
|
||
echo
|
||
while :
|
||
do
|
||
echo "The size of the external CPU cache is $SUT_CACHE."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter FPU type and number [ex: 80387(2)]:$CCL"
|
||
read SUT_FPU
|
||
echo
|
||
while :
|
||
do
|
||
echo "The FPU type and number is $SUT_FPU."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter total amount of RAM installed [ex: 32 MB]:$CCL"
|
||
read SUT_RAM
|
||
echo
|
||
while :
|
||
do
|
||
echo "The size of the intalled RAM is $SUT_RAM."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter line 1 of information on installed disk drives [ex: 320MB, 11.2ms (2)]:$CCL"
|
||
read SUT_DLINE1
|
||
echo
|
||
while :
|
||
do
|
||
echo "Line 1 of the information on installed disks is:"
|
||
echo "$SUT_DLINE1"
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter line 2 of information on installed disk drives [ex: 320MB, 11.2ms (2)]:$CCL"
|
||
read SUT_DLINE2
|
||
echo
|
||
while :
|
||
do
|
||
echo "Line 2 of the information on installed disks is:"
|
||
echo "$SUT_DLINE2"
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter any additional disk drives information:$CCL"
|
||
read SUT_DLINE3
|
||
echo
|
||
while :
|
||
do
|
||
echo "Additional disk drives information is:"
|
||
echo "$SUT_DLINE3"
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter type and number of disk controllers [ex: SCSI(2)]:$CCL"
|
||
read SUT_DCTYPE
|
||
echo
|
||
while :
|
||
do
|
||
echo "The type and number of installed disk controller(s) is $SUT_DCTYPE."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter amount of RAM reserved for I/O buffers [ex: 12MB or dynamic]:$CCL"
|
||
read SUT_IOBUFF
|
||
echo
|
||
while :
|
||
do
|
||
echo "The amount of RAM reserved for I/O buffering is $SUT_IOBUFF."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter OS name and version [ex: SYSTEM V/88 r32v2]:$CCL"
|
||
read SUT_OSNAME
|
||
echo
|
||
while :
|
||
do
|
||
echo "The name and version number of the OS is $SUT_OSNAME."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter File System type [ex: SYSTEM V enhanced]:$CCL"
|
||
read SUT_FS
|
||
echo
|
||
while :
|
||
do
|
||
echo "The type of the File System is $SUT_FS."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter C compiler name and version [ex: SYSTEM V enhanced]:$CCL"
|
||
read SUT_CCNAME
|
||
echo
|
||
while :
|
||
do
|
||
echo "The name and version number of the C compiler is $SUT_CCNAME."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
#
|
||
# build APRINFO file
|
||
#
|
||
if test ! -f ../save
|
||
then
|
||
mkdir ../save
|
||
fi
|
||
if test -f ../save/APRINFO
|
||
then
|
||
rm ../save/APRINFO
|
||
fi
|
||
echo $NNL "NAME: $CCL" > ../save/APRINFO
|
||
echo $SUT_NAME >> ../save/APRINFO
|
||
echo $NNL "PRICE: $CCL" >> ../save/APRINFO
|
||
echo $SUT_PRICE >> ../save/APRINFO
|
||
echo $NNL "CPU: $CCL" >> ../save/APRINFO
|
||
echo $SUT_CPU >> ../save/APRINFO
|
||
echo $NNL "CLOCK RATE: $CCL" >> ../save/APRINFO
|
||
echo $SUT_CLOCKRATE >> ../save/APRINFO
|
||
echo $NNL "EXTERNAL CACHE SIZE: $CCL" >> ../save/APRINFO
|
||
echo $SUT_CACHE >> ../save/APRINFO
|
||
echo $NNL "FPU: $CCL" >> ../save/APRINFO
|
||
echo $SUT_FPU >> ../save/APRINFO
|
||
echo $NNL "RAM SIZE: $CCL" >> ../save/APRINFO
|
||
echo $SUT_RAM >> ../save/APRINFO
|
||
echo $NNL "DISK DRIVES LINE 1: $CCL" >> ../save/APRINFO
|
||
echo $SUT_DLINE1 >> ../save/APRINFO
|
||
echo $NNL "DISK DRIVES LINE 2: $CCL" >> ../save/APRINFO
|
||
echo $SUT_DLINE2 >> ../save/APRINFO
|
||
echo $NNL "ADDITIONAL DISK DRIVES: $CCL" >> ../save/APRINFO
|
||
echo $SUT_DLINE3 >> ../save/APRINFO
|
||
echo $NNL "DISK CONTROLLER(S): $CCL" >> ../save/APRINFO
|
||
echo $SUT_DCTYPE >> ../save/APRINFO
|
||
echo $NNL "I/O BUFFERS SIZE: $CCL" >> ../save/APRINFO
|
||
echo $SUT_IOBUFF >> ../save/APRINFO
|
||
echo $NNL "UNIX VERSION: $CCL" >> ../save/APRINFO
|
||
echo $SUT_OSNAME >> ../save/APRINFO
|
||
echo $NNL "FILE SYSTEM TYPE: $CCL" >> ../save/APRINFO
|
||
echo $SUT_FS >> ../save/APRINFO
|
||
echo $NNL "C COMPILER: $CCL" >> ../save/APRINFO
|
||
echo $SUT_CCNAME >> ../save/APRINFO
|
||
chmod 644 ../save/APRINFO
|
||
else
|
||
# there is an APRINFO file in the ../save directory already and we are to use
|
||
# its content for this Suite III run
|
||
SUT_NAME=`grep "NAME:" ../save/APRINFO | sed 's/ //' | awk -F: '{print $2}'`
|
||
echo
|
||
echo "The name of the System is $SUT_NAME"
|
||
fi
|
||
#
|
||
# Build Suite III input file
|
||
#
|
||
while :
|
||
do
|
||
echo
|
||
echo $NNL "Enter the maximum number of users to be simulated [ex: 300]: $CCL"
|
||
read MAX_USERS
|
||
echo
|
||
while :
|
||
do
|
||
echo "The maximum number of users to be simulated is $MAX_USERS."
|
||
echo $NNL "Press Enter to accept press C to change: $CCL"
|
||
read ANS
|
||
case "$ANS" in
|
||
"C") break;;
|
||
"") break;;
|
||
*) echo; echo "\"$ANS\" is not allowed ...." ;;
|
||
esac
|
||
done
|
||
if test "$ANS" = ""
|
||
then break;
|
||
fi
|
||
done
|
||
if test -f input
|
||
then
|
||
rm -f input
|
||
fi
|
||
echo $SUT_NAME > input
|
||
echo "1" >> input
|
||
echo "1" >> input
|
||
echo "$MAX_USERS" >> input
|
||
echo "2" >> input
|
||
chmod 644 input
|
||
if test -f RUN
|
||
then
|
||
rm -f RUN
|
||
fi
|
||
echo "#!/bin/csh" > RUN
|
||
echo "# AIM Suite III v3.1 Makefile" >> RUN
|
||
echo "# (C) Copyright AIM Technology Inc. 1986,87,88,89,90,91,92." >> RUN
|
||
echo "# All Rights Reserved." >> RUN
|
||
echo "# Created on `date`" >> RUN
|
||
echo "#" >> RUN
|
||
echo "" >> RUN
|
||
echo "onintr - # ignore interrupts so multiuser will setpgrp" >> RUN
|
||
echo "rm -f nfs.stat" >> RUN
|
||
echo "" >> RUN
|
||
echo "set NFSSTAT=/usr/etc/nfsstat" >> RUN
|
||
echo "" >> RUN
|
||
echo 'if ( -x $NFSSTAT ) then' >> RUN
|
||
echo ' echo "NFS statistics before Suite III run (`date`)" > nfs.stat' >> RUN
|
||
echo ' $NFSSTAT >> nfs.stat' >> RUN
|
||
echo 'else' >> RUN
|
||
echo ' echo "$NFSSTAT NOT FOUND" > nfs.stat' >> RUN
|
||
echo 'endif' >> RUN
|
||
echo "" >> RUN
|
||
echo "multiuser < input" >> RUN
|
||
echo "" >> RUN
|
||
echo 'if ( -x $NFSSTAT ) then' >> RUN
|
||
echo ' echo "" >> nfs.stat' >> RUN
|
||
echo ' echo "NFS statistics after Suite III run (`date`)" >> nfs.stat' >> RUN
|
||
echo ' $NFSSTAT >> nfs.stat' >> RUN
|
||
echo 'endif' >> RUN
|
||
#
|
||
# create script to save results
|
||
#
|
||
if test -f SAVE
|
||
then
|
||
rm -f SAVE
|
||
fi
|
||
echo "#!/bin/sh" > SAVE
|
||
echo "# AIM Suite III v3.1 Makefile" >> SAVE
|
||
echo "# (C) Copyright AIM Technology Inc. 1986,87,88,89,90,91,92." >> SAVE
|
||
echo "# All Rights Reserved." >> SAVE
|
||
echo "# Created on `date`" >> SAVE
|
||
echo "#" >> SAVE
|
||
echo "if test ! -d ../save" >> SAVE
|
||
echo " then" >> SAVE
|
||
echo " mkdir ../save" >> SAVE
|
||
echo "fi" >> SAVE
|
||
echo "if test ! -d ../save/suite3" >> SAVE
|
||
echo " then" >> SAVE
|
||
echo " mkdir ../save/suite3" >> SAVE
|
||
echo "fi" >> SAVE
|
||
echo "cp suite3.ss ../save/suite3" >> SAVE
|
||
echo "cp dirty_suite3.ss ../save/suite3" >> SAVE
|
||
echo "cp toutput ../save/suite3" >> SAVE
|
||
echo "cp Makefile ../save/suite3" >> SAVE
|
||
echo "cp input ../save/suite3" >> SAVE
|
||
echo "cp config ../save/suite3" >> SAVE
|
||
echo "cp mixb ../save/suite3" >> SAVE
|
||
echo "cp workfile ../save/suite3" >> SAVE
|
||
echo "cp RUN ../save/suite3" >> SAVE
|
||
echo "cp defs ../save/suite3" >> SAVE
|
||
echo "cp nohup.out ../save/suite3" >> SAVE
|
||
echo "cp nfs.stat ../save/suite3" >> SAVE
|
||
echo "cp nfs.ss ../save/suite3" >> SAVE
|
||
echo "echo" >> SAVE
|
||
echo "echo" >> SAVE
|
||
echo "echo \"Remember to save all source files that have been modified for this run.\" " >> SAVE
|
||
echo "echo" >> SAVE
|
||
echo "echo" >> SAVE
|
||
chmod 755 SAVE
|
||
else
|
||
if test -f RUN
|
||
then
|
||
rm -f RUN
|
||
fi
|
||
echo "# AIM Suite III v3.1 Makefile" > RUN
|
||
echo "# (C) Copyright AIM Technology Inc. 1986,87,88,89,90,91,92." >> RUN
|
||
echo "# All Rights Reserved." >> RUN
|
||
echo "# Created on `date`" >> RUN
|
||
echo "#" >> RUN
|
||
echo "multiuser" >> RUN
|
||
fi # end of doapr loop
|
||
chmod 755 RUN
|
||
|
||
#
|
||
# done
|
||
#
|
||
echo
|
||
echo " completed."
|
||
echo
|
||
echo
|
||
|
||
if test "$DOAPR" = "YES"
|
||
then
|
||
echo "Makefile, suite3.h, RUN, input and SAVE have been created."
|
||
echo
|
||
echo "Enter \"make\" to build AIM Suite III."
|
||
echo
|
||
echo "Type RUN to run the benchmark then SAVE to save the results of"
|
||
echo "this run into the save directory."
|
||
echo
|
||
echo "If you are running this benchmark on a remote system and it is best to"
|
||
echo "logoff while Suite III is running, use:"
|
||
echo " \"nohup RUN &\""
|
||
echo "to start Suite III then logoff. Log back in about 8 hours later to run"
|
||
echo "the SAVE script to collect the results for this run in the save directory."
|
||
else
|
||
echo "The file \"Makefile\" has been created."
|
||
echo
|
||
echo "Enter \"make\" to build AIM Suite III."
|
||
echo
|
||
echo "Type RUN to run AIM Suite III."
|
||
fi
|
||
echo
|
||
echo "If there are any problems, you can either run this configuration script"
|
||
echo "again or edit the \"Makefile\" directly."
|
||
echo
|
||
echo "Examine the \"config\" file to make sure that all the system resources you"
|
||
echo "wish to exercise are defined and enabled for this benchmark run."
|
||
echo
|