summaryrefslogtreecommitdiffstats
path: root/tools/virtio/ringtest/run-on-all.sh
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2016-02-08 08:16:55 +0100
committerTakashi Iwai <tiwai@suse.de>2016-02-08 08:16:55 +0100
commitc9e9daccc7a6a670a6619723138ace6752f4773b (patch)
treeed38356575314aec55deda66ef856a9bfeaaf282 /tools/virtio/ringtest/run-on-all.sh
parent1f5e35636cc2737ccf1f67815cb33b978621f0f6 (diff)
parentddce57a6f0a2d8d1bfacfa77f06043bc760403c2 (diff)
downloadop-kernel-dev-c9e9daccc7a6a670a6619723138ace6752f4773b.zip
op-kernel-dev-c9e9daccc7a6a670a6619723138ace6752f4773b.tar.gz
Merge branch 'topic/core-fixes' into for-next
Diffstat (limited to 'tools/virtio/ringtest/run-on-all.sh')
-rwxr-xr-xtools/virtio/ringtest/run-on-all.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/virtio/ringtest/run-on-all.sh b/tools/virtio/ringtest/run-on-all.sh
new file mode 100755
index 0000000..52b0f71
--- /dev/null
+++ b/tools/virtio/ringtest/run-on-all.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+#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)
+
+#run command on all cpus
+for cpu in $(cd /dev/cpu; ls|grep -v '[a-z]'|sort -n);
+do
+ #Don't run guest and host on same CPU
+ #It actually works ok if using signalling
+ if
+ (echo "$@" | grep -e "--sleep" > /dev/null) || \
+ test $HOST_AFFINITY '!=' $cpu
+ then
+ echo "GUEST AFFINITY $cpu"
+ "$@" --host-affinity $HOST_AFFINITY --guest-affinity $cpu
+ fi
+done
+echo "NO GUEST AFFINITY"
+"$@" --host-affinity $HOST_AFFINITY
+echo "NO AFFINITY"
+"$@"
OpenPOWER on IntegriCloud