Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ "$ACTION" = add ] || exit
|
||||
|
||||
get_device_irq() {
|
||||
local device="$1"
|
||||
local line
|
||||
local seconds="0"
|
||||
|
||||
# wait up to 10 seconds for the irq/device to appear
|
||||
while [ "${seconds}" -le 10 ]; do
|
||||
line=$(grep -E -m 1 "${device}\$" /proc/interrupts) && break
|
||||
seconds="$(( seconds + 2 ))"
|
||||
sleep 2
|
||||
done
|
||||
echo ${line} | sed 's/:.*//'
|
||||
}
|
||||
|
||||
set_interface_core() {
|
||||
local core_mask="$1"
|
||||
local interface="$2"
|
||||
local device="$3"
|
||||
|
||||
[ -z "${device}" ] && device="$interface"
|
||||
|
||||
local irq=$(get_device_irq "$device")
|
||||
|
||||
echo "${core_mask}" > /proc/irq/${irq}/smp_affinity
|
||||
}
|
||||
|
||||
case "$(board_name)" in
|
||||
armsom,sige7|\
|
||||
friendlyarm,nanopc-t6|\
|
||||
friendlyarm,nanopi-r3s|\
|
||||
friendlyarm,nanopi-r5c|\
|
||||
friendlyarm,nanopi-r6c|\
|
||||
radxa,e25|\
|
||||
sinovoip,rk3568-bpi-r2pro)
|
||||
set_interface_core 2 "eth0"
|
||||
set_interface_core 4 "eth1"
|
||||
;;
|
||||
friendlyarm,nanopi-r2c|\
|
||||
friendlyarm,nanopi-r2c-plus|\
|
||||
friendlyarm,nanopi-r2s|\
|
||||
radxa,cm3-io|\
|
||||
xunlong,orangepi-r1-plus|\
|
||||
xunlong,orangepi-r1-plus-lts)
|
||||
set_interface_core 2 "eth0"
|
||||
set_interface_core 4 "eth1" "xhci-hcd:usb[0-9]+"
|
||||
;;
|
||||
friendlyarm,nanopi-r4s|\
|
||||
friendlyarm,nanopi-r4s-enterprise)
|
||||
set_interface_core 10 "eth0"
|
||||
set_interface_core 20 "eth1"
|
||||
;;
|
||||
friendlyarm,nanopi-r5s|\
|
||||
friendlyarm,nanopi-r6s)
|
||||
set_interface_core 2 "eth0"
|
||||
set_interface_core 4 "eth1"
|
||||
set_interface_core 8 "eth2"
|
||||
;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user