intel / lmbench

GNU General Public License v2.0
265 stars 117 forks source link

`make results` error on aarch64 platform #14

Open darmac opened 4 years ago

darmac commented 4 years ago

There is an error when we run scripts/results script.

$ bash -x results
++ ../scripts/os
../scripts/gnu-os: unable to guess system type

This script, last modified 2004-08-18, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from

    ftp://ftp.gnu.org/pub/gnu/config/

If the version you run (../scripts/gnu-os) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.

config.guess timestamp = 2004-08-18

uname -m = aarch64
uname -r = 4.19.0-9-arm64
uname -s = Linux
uname -v = #1 SMP Debian 4.19.118-2 (2020-04-29)

/usr/bin/uname -p = unknown
/bin/uname -X     =

hostinfo               =
/bin/universe          =
/usr/bin/arch -k       =
/bin/arch              = aarch64
/usr/bin/oslevel       =
/usr/convex/getsysinfo =

UNAME_MACHINE = aarch64
UNAME_RELEASE = 4.19.0-9-arm64
UNAME_SYSTEM  = Linux
UNAME_VERSION = #1 SMP Debian 4.19.118-2 (2020-04-29)
+ OS=
++ ../scripts/config
+ CONFIG=CONFIG.debian
+ RESULTS=results/
++ uname -n
+ BASE=../results//debian
+ EXT=0
+ '[' '!' -f ../bin//CONFIG.debian ']'
+ . ../bin//CONFIG.debian
++ DISKS=
++ DISK_DESC=
++ OUTPUT=/dev/null
++ ENOUGH=5000
++ FASTMEM=NO
++ FILE=/var/tmp/XXX
++ FSDIR=/var/tmp
++ INFO=INFO.debian
++ LINE_SIZE=128
++ LOOP_O=0.00000054
++ MAIL=no
++ TOTAL_MEM=32170
++ MB=8
++ MHZ='1997 MHz, 0.5008 nanosec clock'
++ MOTHERBOARD=
++ NETWORKS=
++ OS=
++ PROCESSORS=8
++ REMOTE=
++ SLOWFS=NO
++ SYNC_MAX=1
++ LMBENCH_SCHED=DEFAULT
++ TIMING_O=0
++ RSH=rsh
++ RCP=rcp
++ VERSION=lmbench-3alpha4
++ BENCHMARK_HARDWARE=YES
++ BENCHMARK_OS=YES
++ BENCHMARK_SYSCALL=
++ BENCHMARK_SELECT=
++ BENCHMARK_PROC=
++ BENCHMARK_CTX=
++ BENCHMARK_PAGEFAULT=
++ BENCHMARK_FILE=
++ BENCHMARK_MMAP=
++ BENCHMARK_PIPE=
++ BENCHMARK_UNIX=
++ BENCHMARK_UDP=
++ BENCHMARK_TCP=
++ BENCHMARK_CONNECT=
++ BENCHMARK_RPC=
++ BENCHMARK_HTTP=
++ BENCHMARK_BCOPY=
++ BENCHMARK_MEM=
++ BENCHMARK_OPS=
+ '[' '!' -d ../results/ ']'
+ RESULTS=../results//debian.0
+ '[' -f ../results//debian.0 ']'
+ cd ../bin/
+ PATH=.:/home/xiaojun/spack/opt/spack/linux-debian10-aarch64/gcc-9.3.0/lmbench-master-hjvodsgdjzuqyxn4tk47ell434eqylgi/bin:/home/xiaojun/spack/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/xiaojun/spack/spack/bin:/home/xiaojun/spack/opt/spack/linux-centos8-aarch64/gcc-8.2.1/py-flake8-3.7.8-3l5xcyug2ebxiflw5g3lvf35ep2xjnki/bin:/home/xiaojun/spack/spack/bin:/home/xiaojun/spack/opt/spack/linux-centos8-aarch64/gcc-8.2.1/py-flake8-3.7.8-3l5xcyug2ebxiflw5g3lvf35ep2xjnki/bin
+ export PATH
+ export SYNC_MAX
+ export OUTPUT
+ lmbench CONFIG.debian
results: line 30: ../../results//debian.0: No such file or directory
+ '[' Xno = Xyes ']'
+ exit 0

I can work around it by using this patch:

diff --git a/scripts/results b/scripts/results
index cd07c15..282ed19 100755
--- a/scripts/results
+++ b/scripts/results
@@ -27,7 +27,7 @@ cd ../bin/$OS
 PATH=.:${PATH}; export PATH
 export SYNC_MAX
 export OUTPUT
-lmbench $CONFIG 2>../${RESULTS}
+lmbench $CONFIG 2>${RESULTS}

 if [ X$MAIL = Xyes ]
 then   echo Mailing results

But maybe we need a better patch to fix this issue?

kernel-cyrus commented 1 year ago

I found a better way to fix this issue.

The issue is caused by /scripts/os script not returning correct $OS variable on aarch64 platform.

I fix this issue just by set "OS=uname -n", and remove all the os guessing codes.

#!/bin/sh
OS=`uname -n`
echo $OS