Add test programs for ihk_os_getrusage()
This commit is contained in:
219
test/rusage/run.sh
Executable file
219
test/rusage/run.sh
Executable file
@ -0,0 +1,219 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
testname=$1
|
||||
bootopt="-m 256M"
|
||||
mcexecopt=""
|
||||
testopt=""
|
||||
kill="n"
|
||||
dryrun="n"
|
||||
sleepopt="0.4"
|
||||
home=$(eval echo \$\{HOME\})
|
||||
install=${home}/project/os/install
|
||||
|
||||
echo Executing ${testname}
|
||||
|
||||
case ${testname} in
|
||||
rusage011 | rusage012)
|
||||
printf "*** Enable debug messages in rusage.h, memory.c, fileobj.c, shmobj.c, process.c by defining DEBUG macro, e.g. #define RUSAGE_DEBUG and then recompile IHK/McKernel.\n"
|
||||
printf "*** Install xpmem by git-clone https://github.com/hjelmn/xpmem.\n"
|
||||
;;
|
||||
rusage10?)
|
||||
printf "*** Refer to rusage100.patch to add syscall #900 by editing syscall_list.h and syscall.c and recompile IHK/McKernel.\n"
|
||||
;;
|
||||
*)
|
||||
printf "*** Enable debug messages in rusage.h, memory.c, fileobj.c, shmobj.c, process.c by defining DEBUG macro, e.g. #define RUSAGE_DEBUG and then recompile IHK/McKernel.\n"
|
||||
;;
|
||||
esac
|
||||
read -p "*** Hit return when ready!" key
|
||||
|
||||
case ${testname} in
|
||||
rusage005)
|
||||
ssh wallaby -c '(cd ${home}/project/src/rusage/verbs; make rdma_wr)'
|
||||
bn=verbs/rdma_wr
|
||||
;;
|
||||
rusage019)
|
||||
#ssh wallaby -c '(cd ${home}/project/src/rusage/npb/NPB3.3.1-MZ/NPB3.3-MZ-MPI; make bt-mz CLASS=S NPROCS=2)'
|
||||
bn=npb/NPB3.3.1-MZ/NPB3.3-MZ-MPI/bin/bt-mz.S.2
|
||||
perl -e 'print "wallaby14\nwallaby15\n"' > ./hostfile
|
||||
;;
|
||||
rusage021)
|
||||
if ! grep /var/log/local6 /etc/rsyslog.conf &>/dev/null; then
|
||||
echo "Insert a line of local6.* /var/log/local6 into /etc/rsyslog.conf"
|
||||
exit 255
|
||||
fi
|
||||
ssh wallaby bash -c '(cd ${home}/project/src/rusage/npb/NPB3.3.1-MZ/NPB3.3-MZ-MPI; make bt-mz CLASS=S NPROCS=4)'
|
||||
bn=npb/NPB3.3.1-MZ/NPB3.3-MZ-MPI/bin/bt-mz.S.4
|
||||
perl -e 'print "polaris:2\nkochab:2\n"' > ./hostfile
|
||||
;;
|
||||
*)
|
||||
bn=${testname}
|
||||
make clean > /dev/null 2> /dev/null
|
||||
make ${bn}
|
||||
esac
|
||||
|
||||
pid=`pidof mcexec`
|
||||
if [ "${pid}" != "" ]; then
|
||||
kill -9 ${pid} > /dev/null 2> /dev/null
|
||||
fi
|
||||
|
||||
case ${testname} in
|
||||
rusage000)
|
||||
testopt="0"
|
||||
;;
|
||||
rusage010)
|
||||
testopt="1"
|
||||
;;
|
||||
rusage020)
|
||||
bootopt="-m 256M@0,1G@0"
|
||||
testopt="2"
|
||||
kill="y"
|
||||
;;
|
||||
rusage030)
|
||||
testopt="3"
|
||||
;;
|
||||
rusage001)
|
||||
cp ${bn} ./file
|
||||
kill="n"
|
||||
;;
|
||||
rusage002)
|
||||
mcexecopt="--mpol-shm-premap"
|
||||
;;
|
||||
rusage003)
|
||||
;;
|
||||
rusage004)
|
||||
cp ${bn} ./file
|
||||
;;
|
||||
rusage005)
|
||||
echo ssh wallaby15.aics-sys.riken.jp ${home}/project/src/verbs/rdma_wr -p 10000&
|
||||
read -p "Run rdma_wr on wallaby15 and enter the port number." port
|
||||
testopt="-s wallaby15.aics-sys.riken.jp -p ${port}"
|
||||
;;
|
||||
rusage006)
|
||||
mcexecopt="--mpol-shm-premap"
|
||||
;;
|
||||
rusage007)
|
||||
;;
|
||||
rusage008)
|
||||
cp ${bn} ./file
|
||||
;;
|
||||
rusage009)
|
||||
;;
|
||||
rusage011)
|
||||
sudo insmod /home/takagi/usr/lib/module/xpmem.ko
|
||||
sudo chmod og+rw /dev/xpmem
|
||||
dryrun="n"
|
||||
kill="n"
|
||||
sleepopt="5"
|
||||
;;
|
||||
rusage012)
|
||||
sudo insmod /home/takagi/usr/lib/module/xpmem.ko
|
||||
sudo chmod og+rw /dev/xpmem
|
||||
dryrun="n"
|
||||
kill="n"
|
||||
sleepopt="5"
|
||||
;;
|
||||
rusage013)
|
||||
cp ${bn} ./file
|
||||
;;
|
||||
rusage014)
|
||||
cp ${bn} ./file
|
||||
;;
|
||||
rusage015)
|
||||
cp ${bn} ./file
|
||||
;;
|
||||
rusage016)
|
||||
;;
|
||||
rusage017)
|
||||
cp ${bn} ./file
|
||||
;;
|
||||
rusage018)
|
||||
;;
|
||||
rusage019 | rusage021)
|
||||
bootopt="-k 1 -m 256M"
|
||||
;;
|
||||
rusage100)
|
||||
;;
|
||||
rusage101)
|
||||
;;
|
||||
rusage102)
|
||||
cp ${bn} ./file
|
||||
;;
|
||||
rusage103)
|
||||
bootopt="-m 256M@1"
|
||||
;;
|
||||
*)
|
||||
echo Unknown test case
|
||||
exit 255
|
||||
esac
|
||||
|
||||
if [ ${dryrun} == "y" ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
case ${testname} in
|
||||
rusage019 | rusage021)
|
||||
sudo rm /var/log/local6
|
||||
sudo touch /var/log/local6
|
||||
sudo chmod 600 /var/log/local6
|
||||
sudo systemctl restart rsyslog
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
case ${testname} in
|
||||
rusage019 | rusage021)
|
||||
echo sudo ssh wallaby15 ${install}/sbin/mcstop+release.sh &&
|
||||
echo sudo ssh wallaby15 ${install}/sbin/mcreboot.sh
|
||||
read -p "Boot mckernel on wallaby15." ans
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
sudo ${install}/sbin/mcstop+release.sh &&
|
||||
sudo ${install}/sbin/mcreboot.sh ${bootopt}
|
||||
|
||||
if [ ${kill} == "y" ]; then
|
||||
${install}/bin/mcexec ${mcexecopt} ./${bn} ${testopt} &
|
||||
sleep ${sleepopt}
|
||||
sudo ${install}/sbin/ihkosctl 0 kmsg > ./${testname}.log
|
||||
pid=`pidof mcexec`
|
||||
if [ "${pid}" != "" ]; then
|
||||
kill -9 ${pid} > /dev/null 2> /dev/null
|
||||
fi
|
||||
else
|
||||
case ${testname} in
|
||||
rusage005)
|
||||
${install}/bin/mcexec ${mcexecopt} ./${bn} ${testopt}
|
||||
#read -p "Run rdma_wr." ans
|
||||
sudo ${install}/sbin/ihkosctl 0 kmsg > ./${testname}.log
|
||||
;;
|
||||
rusage019 | rusage021)
|
||||
echo OMP_NUM_THREADS=2 mpiexec -machinefile ./hostfile ${install}/bin/mcexec ${mcexecopt} ./${bn} ${testopt}
|
||||
read -p "Run ${bn} and hit return." ans
|
||||
sleep 1.5
|
||||
sudo cat /var/log/local6 > ./${testname}.log
|
||||
;;
|
||||
rusage100 | rusage101 | rusage102 | rusage103)
|
||||
${install}/bin/mcexec ${mcexecopt} ./${bn} ${testopt} > ./${testname}.log
|
||||
echo "================================================" >> ./${testname}.log
|
||||
sudo ${install}/sbin/ihkosctl 0 kmsg >> ./${testname}.log
|
||||
;;
|
||||
*)
|
||||
${install}/bin/mcexec ${mcexecopt} ./${bn} ${testopt}
|
||||
sudo ${install}/sbin/ihkosctl 0 kmsg > ./${testname}.log
|
||||
esac
|
||||
fi
|
||||
|
||||
case ${testname} in
|
||||
rusage10?)
|
||||
printf "*** Check the ihk_os_getrusage() result (the first part of ${testname}.log) matches with the syscall #900 result (the second part) \n"
|
||||
;;
|
||||
|
||||
*)
|
||||
printf "*** cat ${testname}.log (kmsg) > ./match.pl to confirm there's no stray add/sub.\n"
|
||||
printf "*** Look ${testname}.log (kmsg) to confirm memory_stat_*[*] returned to zero when the last thread exits.\n"
|
||||
;;
|
||||
esac
|
||||
|
||||
sudo ${install}/sbin/mcstop+release.sh
|
||||
Reference in New Issue
Block a user