Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) #!/bin/sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) CPUS_ONLINE=$(lscpu --online -p=cpu|grep -v -e '#')
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) #use last CPU for host. Why not the first?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) #many devices tend to use cpu0 by default so
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) #it tends to be busier
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) HOST_AFFINITY=$(echo "${CPUS_ONLINE}"|tail -n 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #run command on all cpus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) for cpu in $CPUS_ONLINE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 	#Don't run guest and host on same CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 	#It actually works ok if using signalling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 	if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 		(echo "$@" | grep -e "--sleep" > /dev/null) || \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 			test $HOST_AFFINITY '!=' $cpu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 		echo "GUEST AFFINITY $cpu"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 		"$@" --host-affinity $HOST_AFFINITY --guest-affinity $cpu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 	fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) echo "NO GUEST AFFINITY"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) "$@" --host-affinity $HOST_AFFINITY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) echo "NO AFFINITY"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) "$@"