From a578c33577a5840c4d44111ddeed93e86ae411e3 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Sat, 7 Jul 2012 23:43:30 +0200 Subject: [PATCH] [commtech] Detect if perf supports -o switch Use script in the case where perf doesn't support -o switch (old perf version) --- communication_techniques/lancement.sh | 28 +++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/communication_techniques/lancement.sh b/communication_techniques/lancement.sh index 230c113..45ed48a 100755 --- a/communication_techniques/lancement.sh +++ b/communication_techniques/lancement.sh @@ -24,7 +24,13 @@ logFileName="\$perfDirName/cache_\$typeCache-nbNodes_\$nbNodes-typeProd_\$typePr expDirName="logs" perfDirName="$expDirName/perfCommMulti-`date +'%F-%Hh%Mm%S'`" -perfOpt="$perfOpt -o $logFileName.perf" +perf --help stat | grep -- " -o" +perfOutput=$? + +if [ $perfOutput -eq 0 ] +then + perfOpt="$perfOpt -o $logFileName.perf" +fi export LD_LIBRARY_PATH @@ -54,14 +60,24 @@ function_run () { esac make $binDir/$bin - cmdLineRun="eval perf $perfOpt $binDir/$bin $optTypeCache $optTypeProd $optNbNodes -n $nbIter" + if [ $perfOutput -eq 0 ] + then + cmdLineRun="eval perf $perfOpt $binDir/$bin $optTypeCache $optTypeProd $optNbNodes -n $nbIter" + else + cmdLineRun="eval script -c \"perf $perfOpt $binDir/$bin $optTypeCache $optTypeProd $optNbNodes -n $nbIter\" $logFileName" + fi echo "On lance : \"$cmdLineRun\"" beginingDate=`date +%s` - ( $cmdLineRun 2>&1 || echo "echec experience" ) | eval tee $logFileName - logFileNameVal="$(eval echo $logFileName)" - cat $logFileNameVal.perf >> $logFileNameVal - rm $logFileNameVal.perf + if [ $perfOutput -eq 0 ] + then + ( $cmdLineRun 2>&1 || echo "echec experience" ) | eval tee $logFileName + logFileNameVal="$(eval echo $logFileName)" + cat $logFileNameVal.perf >> $logFileNameVal + rm $logFileNameVal.perf + else + ( $cmdLineRun 2>&1 || echo "echec experience" ) + fi endDate=`date +%s` duration_sec=`expr \( $endDate - $beginingDate \) % 60` duration_min=`expr \( $endDate - $beginingDate \) / 60`