mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
670 B
26 lines
670 B
#!/bin/sh |
|
# SPDX-License-Identifier: GPL-2.0 |
|
|
|
CPUS_ONLINE=$(lscpu --online -p=cpu|grep -v -e '#') |
|
#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=$(echo "${CPUS_ONLINE}"|tail -n 1) |
|
|
|
#run command on all cpus |
|
for cpu in $CPUS_ONLINE |
|
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" |
|
"$@"
|
|
|