1#!/bin/sh 2 3#use last CPU for host. Why not the first? 4#many devices tend to use cpu0 by default so 5#it tends to be busier 6HOST_AFFINITY=$(cd /dev/cpu; ls|grep -v '[a-z]'|sort -n|tail -1) 7 8#run command on all cpus 9for cpu in $(cd /dev/cpu; ls|grep -v '[a-z]'|sort -n); 10do 11 #Don't run guest and host on same CPU 12 #It actually works ok if using signalling 13 if 14 (echo "$@" | grep -e "--sleep" > /dev/null) || \ 15 test $HOST_AFFINITY '!=' $cpu 16 then 17 echo "GUEST AFFINITY $cpu" 18 "$@" --host-affinity $HOST_AFFINITY --guest-affinity $cpu 19 fi 20done 21echo "NO GUEST AFFINITY" 22"$@" --host-affinity $HOST_AFFINITY 23echo "NO AFFINITY" 24"$@" 25