Issue 180342
Summary test-suite::LoopVectorizationBenchmarks.test fails on Linux SPARC due to /proc/cpuinfo parsing
Labels new issue
Assignees
Reporter glaubitz
    The (newly added?) test `test-suite::LoopVectorizationBenchmarks.test` fails on Linux SPARC with the following error message:

```
******************** TEST 'test-suite :: MicroBenchmarks/LoopVectorization/LoopVectorizationBenchmarks.test' FAILED ********************
/var/lib/buildbot/workers/debian-stadler-sparc64/clang-sparc64-linux/test/sandbox/build/MicroBenchmarks/LoopVectorization/LoopVectorizationBenchmarks --benchmark_format=json > /var/lib/buildbot/workers/debian-stadler-sparc64/clang-sparc64-linux/test/sandbox/build/MicroBenchmarks/LoopVectorization/Output/LoopVectorizationBenchmarks.test.bench.json
+ /var/lib/buildbot/workers/debian-stadler-sparc64/clang-sparc64-linux/test/sandbox/build/MicroBenchmarks/LoopVectorization/LoopVectorizationBenchmarks --benchmark_format=json
Unable to extract number of CPUs.  If your platform uses /proc/cpuinfo, custom support may need to be added.
/var/lib/buildbot/workers/debian-stadler-sparc64/clang-sparc64-linux/test/sandbox/build/MicroBenchmarks/LoopVectorization/Output/LoopVectorizationBenchmarks.test_run.script: line 1: 1550029 Floating point exception /var/lib/buildbot/workers/debian-stadler-sparc64/clang-sparc64-linux/test/sandbox/build/MicroBenchmarks/LoopVectorization/LoopVectorizationBenchmarks --benchmark_format=json > /var/lib/buildbot/workers/debian-stadler-sparc64/clang-sparc64-linux/test/sandbox/build/MicroBenchmarks/LoopVectorization/Output/LoopVectorizationBenchmarks.test.bench.json
********************
```

The key problem seems to be:

```
Unable to extract number of CPUs.  If your platform uses /proc/cpuinfo, custom support may need to be added.
```

Since `/proc/cpuinfo` is not standardized, support needs to be added for every target.

On SPARC, the output of `/proc/cpuinfo` looks like this.

On UltraSPARC (pre-hypervisor platform):

```
root@raverin:~# cat /proc/cpuinfo 
cpu             : TI UltraSparc IIIi (Jalapeno)
fpu : UltraSparc IIIi integrated FPU
pmu             : ultra3i
prom : OBP 4.22.33 2007/06/18 12:45
type            : sun4u
ncpus probed    : 1
ncpus active    : 1
D$ parity tl1   : 0
I$ parity tl1   : 0
Cpu0ClkTck : 000000005995f5c0
cpucaps         : flush,stbar,swap,muldiv,v9,ultra3,mul32,div32,v8plus,vis,vis2
MMU Type : Cheetah+
MMU PGSZs       : 8K,64K,512K,4MB
root@raverin:~#
```

On SPARC T4 (hypervisor platform):

```
root@fermi:~# cat /proc/cpuinfo 
cpu : UltraSparc T4 (Niagara4)
fpu             : UltraSparc T4 integrated FPU
pmu             : niagara4
prom            : OBP 4.38.16 2018/11/28 07:24
type            : sun4v
ncpus probed    : 32
ncpus active : 32
D$ parity tl1   : 0
I$ parity tl1   : 0
cpucaps         : flush,stbar,swap,muldiv,v9,blkinit,n2,mul32,div32,v8plus,popc,vis,vis2,ASIBlkInit,fmaf,vis3,hpc,ima,pause,cbcond,aes,des,kasumi,camellia,md5,sha1,sha256,sha512,mpmul,montmul,montsqr,crc32c
Cpu0ClkTck : 00000000a9beeee4
Cpu1ClkTck      : 00000000a9beeee4
Cpu2ClkTck : 00000000a9beeee4
Cpu3ClkTck      : 00000000a9beeee4
Cpu4ClkTck      : 00000000a9beeee4
Cpu5ClkTck      : 00000000a9beeee4
Cpu6ClkTck      : 00000000a9beeee4
Cpu7ClkTck      : 00000000a9beeee4
Cpu8ClkTck      : 00000000a9beeee4
Cpu9ClkTck      : 00000000a9beeee4
Cpu10ClkTck     : 00000000a9beeee4
Cpu11ClkTck     : 00000000a9beeee4
Cpu12ClkTck     : 00000000a9beeee4
Cpu13ClkTck     : 00000000a9beeee4
Cpu14ClkTck     : 00000000a9beeee4
Cpu15ClkTck     : 00000000a9beeee4
Cpu16ClkTck     : 00000000a9beeee4
Cpu17ClkTck     : 00000000a9beeee4
Cpu18ClkTck     : 00000000a9beeee4
Cpu19ClkTck     : 00000000a9beeee4
Cpu20ClkTck     : 00000000a9beeee4
Cpu21ClkTck     : 00000000a9beeee4
Cpu22ClkTck     : 00000000a9beeee4
Cpu23ClkTck     : 00000000a9beeee4
Cpu24ClkTck     : 00000000a9beeee4
Cpu25ClkTck     : 00000000a9beeee4
Cpu26ClkTck     : 00000000a9beeee4
Cpu27ClkTck     : 00000000a9beeee4
Cpu28ClkTck     : 00000000a9beeee4
Cpu29ClkTck     : 00000000a9beeee4
Cpu30ClkTck     : 00000000a9beeee4
Cpu31ClkTck     : 00000000a9beeee4
MMU Type        : Hypervisor (sun4v)
MMU PGSZs       : 8K,64K,4MB,256MB,2GB
State:
CPU0: online
CPU1:           online
CPU2:           online
CPU3: online
CPU4:           online
CPU5:           online
CPU6: online
CPU7:           online
CPU8:           online
CPU9: online
CPU10:          online
CPU11:          online
CPU12: online
CPU13:          online
CPU14:          online
CPU15: online
CPU16:          online
CPU17:          online
CPU18: online
CPU19:          online
CPU20:          online
CPU21: online
CPU22:          online
CPU23:          online
CPU24: online
CPU25:          online
CPU26:          online
CPU27: online
CPU28:          online
CPU29:          online
CPU30: online
CPU31:          online
root@fermi:~#
```

On SPARC T5 (hypervisor platform):

```
root@landau:~# cat /proc/cpuinfo 
cpu             : UltraSparc T5 (Niagara5)
fpu             : UltraSparc T5 integrated FPU
pmu : niagara5
prom            : OBP 4.38.17 2019/01/25 08:22
type : sun4v
ncpus probed    : 128
ncpus active    : 128
D$ parity tl1   : 0
I$ parity tl1   : 0
cpucaps         : flush,stbar,swap,muldiv,v9,blkinit,n2,mul32,div32,v8plus,popc,vis,vis2,ASIBlkInit,fmaf,vis3,hpc,ima,pause,cbcond,aes,des,kasumi,camellia,md5,sha1,sha256,sha512,mpmul,montmul,montsqr,crc32c
Cpu0ClkTck : 00000000d6924470
Cpu1ClkTck      : 00000000d6924470
Cpu2ClkTck : 00000000d6924470
Cpu3ClkTck      : 00000000d6924470
Cpu4ClkTck      : 00000000d6924470
Cpu5ClkTck      : 00000000d6924470
Cpu6ClkTck      : 00000000d6924470
Cpu7ClkTck      : 00000000d6924470
Cpu8ClkTck      : 00000000d6924470
Cpu9ClkTck      : 00000000d6924470
Cpu10ClkTck     : 00000000d6924470
Cpu11ClkTck     : 00000000d6924470
Cpu12ClkTck     : 00000000d6924470
Cpu13ClkTck     : 00000000d6924470
Cpu14ClkTck     : 00000000d6924470
Cpu15ClkTck     : 00000000d6924470
Cpu16ClkTck     : 00000000d6924470
Cpu17ClkTck     : 00000000d6924470
Cpu18ClkTck     : 00000000d6924470
Cpu19ClkTck     : 00000000d6924470
Cpu20ClkTck     : 00000000d6924470
Cpu21ClkTck     : 00000000d6924470
Cpu22ClkTck     : 00000000d6924470
Cpu23ClkTck     : 00000000d6924470
Cpu24ClkTck     : 00000000d6924470
Cpu25ClkTck     : 00000000d6924470
Cpu26ClkTck     : 00000000d6924470
Cpu27ClkTck     : 00000000d6924470
Cpu28ClkTck     : 00000000d6924470
Cpu29ClkTck     : 00000000d6924470
Cpu30ClkTck     : 00000000d6924470
Cpu31ClkTck     : 00000000d6924470
Cpu32ClkTck     : 00000000d6924470
Cpu33ClkTck     : 00000000d6924470
Cpu34ClkTck     : 00000000d6924470
Cpu35ClkTck     : 00000000d6924470
Cpu36ClkTck     : 00000000d6924470
Cpu37ClkTck     : 00000000d6924470
Cpu38ClkTck     : 00000000d6924470
Cpu39ClkTck     : 00000000d6924470
Cpu40ClkTck     : 00000000d6924470
Cpu41ClkTck     : 00000000d6924470
Cpu42ClkTck     : 00000000d6924470
Cpu43ClkTck     : 00000000d6924470
Cpu44ClkTck     : 00000000d6924470
Cpu45ClkTck     : 00000000d6924470
Cpu46ClkTck     : 00000000d6924470
Cpu47ClkTck     : 00000000d6924470
Cpu48ClkTck     : 00000000d6924470
Cpu49ClkTck     : 00000000d6924470
Cpu50ClkTck     : 00000000d6924470
Cpu51ClkTck     : 00000000d6924470
Cpu52ClkTck     : 00000000d6924470
Cpu53ClkTck     : 00000000d6924470
Cpu54ClkTck     : 00000000d6924470
Cpu55ClkTck     : 00000000d6924470
Cpu56ClkTck     : 00000000d6924470
Cpu57ClkTck     : 00000000d6924470
Cpu58ClkTck     : 00000000d6924470
Cpu59ClkTck     : 00000000d6924470
Cpu60ClkTck     : 00000000d6924470
Cpu61ClkTck     : 00000000d6924470
Cpu62ClkTck     : 00000000d6924470
Cpu63ClkTck     : 00000000d6924470
Cpu64ClkTck     : 00000000d6924470
Cpu65ClkTck     : 00000000d6924470
Cpu66ClkTck     : 00000000d6924470
Cpu67ClkTck     : 00000000d6924470
Cpu68ClkTck     : 00000000d6924470
Cpu69ClkTck     : 00000000d6924470
Cpu70ClkTck     : 00000000d6924470
Cpu71ClkTck     : 00000000d6924470
Cpu72ClkTck     : 00000000d6924470
Cpu73ClkTck     : 00000000d6924470
Cpu74ClkTck     : 00000000d6924470
Cpu75ClkTck     : 00000000d6924470
Cpu76ClkTck     : 00000000d6924470
Cpu77ClkTck     : 00000000d6924470
Cpu78ClkTck     : 00000000d6924470
Cpu79ClkTck     : 00000000d6924470
Cpu80ClkTck     : 00000000d6924470
Cpu81ClkTck     : 00000000d6924470
Cpu82ClkTck     : 00000000d6924470
Cpu83ClkTck     : 00000000d6924470
Cpu84ClkTck     : 00000000d6924470
Cpu85ClkTck     : 00000000d6924470
Cpu86ClkTck     : 00000000d6924470
Cpu87ClkTck     : 00000000d6924470
Cpu88ClkTck     : 00000000d6924470
Cpu89ClkTck     : 00000000d6924470
Cpu90ClkTck     : 00000000d6924470
Cpu91ClkTck     : 00000000d6924470
Cpu92ClkTck     : 00000000d6924470
Cpu93ClkTck     : 00000000d6924470
Cpu94ClkTck     : 00000000d6924470
Cpu95ClkTck     : 00000000d6924470
Cpu96ClkTck     : 00000000d6924470
Cpu97ClkTck     : 00000000d6924470
Cpu98ClkTck     : 00000000d6924470
Cpu99ClkTck     : 00000000d6924470
Cpu100ClkTck    : 00000000d6924470
Cpu101ClkTck    : 00000000d6924470
Cpu102ClkTck    : 00000000d6924470
Cpu103ClkTck    : 00000000d6924470
Cpu104ClkTck    : 00000000d6924470
Cpu105ClkTck    : 00000000d6924470
Cpu106ClkTck    : 00000000d6924470
Cpu107ClkTck    : 00000000d6924470
Cpu108ClkTck    : 00000000d6924470
Cpu109ClkTck    : 00000000d6924470
Cpu110ClkTck    : 00000000d6924470
Cpu111ClkTck    : 00000000d6924470
Cpu112ClkTck    : 00000000d6924470
Cpu113ClkTck    : 00000000d6924470
Cpu114ClkTck    : 00000000d6924470
Cpu115ClkTck    : 00000000d6924470
Cpu116ClkTck    : 00000000d6924470
Cpu117ClkTck    : 00000000d6924470
Cpu118ClkTck    : 00000000d6924470
Cpu119ClkTck    : 00000000d6924470
Cpu120ClkTck    : 00000000d6924470
Cpu121ClkTck    : 00000000d6924470
Cpu122ClkTck    : 00000000d6924470
Cpu123ClkTck    : 00000000d6924470
Cpu124ClkTck    : 00000000d6924470
Cpu125ClkTck    : 00000000d6924470
Cpu126ClkTck    : 00000000d6924470
Cpu127ClkTck    : 00000000d6924470
MMU Type        : Hypervisor (sun4v)
MMU PGSZs       : 8K,64K,4MB,256MB,2GB
State:
CPU0: online
CPU1:           online
CPU2:           online
CPU3: online
CPU4:           online
CPU5:           online
CPU6: online
CPU7:           online
CPU8:           online
CPU9: online
CPU10:          online
CPU11:          online
CPU12: online
CPU13:          online
CPU14:          online
CPU15: online
CPU16:          online
CPU17:          online
CPU18: online
CPU19:          online
CPU20:          online
CPU21: online
CPU22:          online
CPU23:          online
CPU24: online
CPU25:          online
CPU26:          online
CPU27: online
CPU28:          online
CPU29:          online
CPU30: online
CPU31:          online
CPU32:          online
CPU33: online
CPU34:          online
CPU35:          online
CPU36: online
CPU37:          online
CPU38:          online
CPU39: online
CPU40:          online
CPU41:          online
CPU42: online
CPU43:          online
CPU44:          online
CPU45: online
CPU46:          online
CPU47:          online
CPU48: online
CPU49:          online
CPU50:          online
CPU51: online
CPU52:          online
CPU53:          online
CPU54: online
CPU55:          online
CPU56:          online
CPU57: online
CPU58:          online
CPU59:          online
CPU60: online
CPU61:          online
CPU62:          online
CPU63: online
CPU64:          online
CPU65:          online
CPU66: online
CPU67:          online
CPU68:          online
CPU69: online
CPU70:          online
CPU71:          online
CPU72: online
CPU73:          online
CPU74:          online
CPU75: online
CPU76:          online
CPU77:          online
CPU78: online
CPU79:          online
CPU80:          online
CPU81: online
CPU82:          online
CPU83:          online
CPU84: online
CPU85:          online
CPU86:          online
CPU87: online
CPU88:          online
CPU89:          online
CPU90: online
CPU91:          online
CPU92:          online
CPU93: online
CPU94:          online
CPU95:          online
CPU96: online
CPU97:          online
CPU98:          online
CPU99: online
CPU100:         online
CPU101:         online
CPU102: online
CPU103:         online
CPU104:         online
CPU105: online
CPU106:         online
CPU107:         online
CPU108: online
CPU109:         online
CPU110:         online
CPU111: online
CPU112:         online
CPU113:         online
CPU114: online
CPU115:         online
CPU116:         online
CPU117: online
CPU118:         online
CPU119:         online
CPU120: online
CPU121:         online
CPU122:         online
CPU123: online
CPU124:         online
CPU125:         online
CPU126: online
CPU127:         online
root@landau:~#
```

CC @koachan 
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to