Commit | Line | Data |
---|---|---|
481eaec3 MT |
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 | |
ef1b144d | 6 | HOST_AFFINITY=$(lscpu -p=cpu | tail -1) |
481eaec3 MT |
7 | |
8 | #run command on all cpus | |
ef1b144d | 9 | for cpu in $(seq 0 $HOST_AFFINITY) |
481eaec3 MT |
10 | do |
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 | |
20 | done | |
21 | echo "NO GUEST AFFINITY" | |
22 | "$@" --host-affinity $HOST_AFFINITY | |
23 | echo "NO AFFINITY" | |
24 | "$@" |