• Paul Menzel's avatar
    torture: Make thread detection more robust by using lspcu · 8e82c28e
    Paul Menzel authored
    For consecutive numbers the lscpu command collapses the output and just
    shows the range with start and end. The processors are numbered that
    way on POWER8.
    
        $ sudo ppc64_cpu --smt=8
        $ lscpu | grep '^NUMA node'
        NUMA node(s):                    2
        NUMA node0 CPU(s):               0-79
        NUMA node8 CPU(s):               80-159
    
    This causes the heuristic to detect the number threads per core, looking
    for the number after the first comma, to fail, and QEMU aborts because of
    invalid arguments.
    
        $ lscpu | grep '^NUMA node0' | sed -e 's/^[^,-]*(,|\-)\([0-9]*\),.*$/\1/'
        NUMA node0 CPU(s):               0-79
    
    But the lscpu command shows the number of threads per core:
    
        $ sudo ppc64_cpu --smt=8
        $ lscpu | grep 'Thread(s) per core'
        Thread(s) per core:              8
        $ sudo ppc64_cpu --smt=off
        $ lscpu | grep 'Thread(s) per core'
        Thread(s) per core:              1
    
    This commit therefore directly uses that value and replaces use of grep
    with "sed -n" and its "p" command.
    Signed-off-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    8e82c28e
functions.sh 7.34 KB