Mike Rapoport
2016-May-04 06:12 UTC
[PATCH] tools/virtio/ringtest: fix run-on-all.sh to work without /dev/cpu
/dev/cpu is only available on x86 with certain modules (e.g. msr) enabled. Using /proc/cpuinfo to get processors count is more portable. Signed-off-by: Mike Rapoport <rppt at linux.vnet.ibm.com> --- tools/virtio/ringtest/run-on-all.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/virtio/ringtest/run-on-all.sh b/tools/virtio/ringtest/run-on-all.sh index 52b0f71..38ccfa3 100755 --- a/tools/virtio/ringtest/run-on-all.sh +++ b/tools/virtio/ringtest/run-on-all.sh @@ -3,10 +3,10 @@ #use last CPU for host. Why not the first? #many devices tend to use cpu0 by default so #it tends to be busier -HOST_AFFINITY=$(cd /dev/cpu; ls|grep -v '[a-z]'|sort -n|tail -1) +HOST_AFFINITY=$(($(grep -c processor /proc/cpuinfo) - 1)) #run command on all cpus -for cpu in $(cd /dev/cpu; ls|grep -v '[a-z]'|sort -n); +for cpu in $(seq 0 $HOST_AFFINITY) do #Don't run guest and host on same CPU #It actually works ok if using signalling -- 1.9.1
Mike Rapoport
2016-May-04 07:59 UTC
[PATCH v2] tools/virtio/ringtest: fix run-on-all.sh to work without /dev/cpu
/dev/cpu is only available on x86 with certain modules (e.g. msr) enabled. Using lscpu to get processors count is more portable. Signed-off-by: Mike Rapoport <rppt at linux.vnet.ibm.com> --- v2: use lspcu instead of /proc/cpuinfo as per Cornelia's suggestion tools/virtio/ringtest/run-on-all.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/virtio/ringtest/run-on-all.sh b/tools/virtio/ringtest/run-on-all.sh index 52b0f71..0177d50 100755 --- a/tools/virtio/ringtest/run-on-all.sh +++ b/tools/virtio/ringtest/run-on-all.sh @@ -3,10 +3,10 @@ #use last CPU for host. Why not the first? #many devices tend to use cpu0 by default so #it tends to be busier -HOST_AFFINITY=$(cd /dev/cpu; ls|grep -v '[a-z]'|sort -n|tail -1) +HOST_AFFINITY=$(lscpu -p | tail -n 1 | cut -d',' -f1) #run command on all cpus -for cpu in $(cd /dev/cpu; ls|grep -v '[a-z]'|sort -n); +for cpu in $(seq 0 $HOST_AFFINITY) do #Don't run guest and host on same CPU #It actually works ok if using signalling -- 1.9.1
Apparently Analagous Threads
- [PATCH v3] tools/virtio/ringtest: fix run-on-all.sh to work without /dev/cpu
- [PATCH v3] tools/virtio/ringtest: fix run-on-all.sh to work without /dev/cpu
- [PATCH v2] tools/virtio/ringtest: fix run-on-all.sh to work without /dev/cpu
- [PATCH] tools/virtio/ringtest: fix run-on-all.sh to work without /dev/cpu
- [PATCH] tools/virtio/ringtest: add usage example to README