From 3e4d2d5a9900d28d42bdde6bc91001ccd6f33abb Mon Sep 17 00:00:00 2001 From: Mads Meisner-Jensen Date: Sun, 3 Oct 2021 12:20:23 +0200 Subject: [PATCH] rpi4-files/etc/init.d/irq-eth-pin: fix compile error/warning initscripts will run while building OpenWRT images on the host system as described on the wiki: https://openwrt.org/docs/guide-developer/procd-init-scripts#init_scripts_during_compilation Thus we no longer execute any commands and wrap functionality into proper start_service() function --- configs/rpi-4-files/etc/init.d/irq-eth-pin | 33 +++++++++++++--------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/configs/rpi-4-files/etc/init.d/irq-eth-pin b/configs/rpi-4-files/etc/init.d/irq-eth-pin index 8bbb143..d9ecb23 100755 --- a/configs/rpi-4-files/etc/init.d/irq-eth-pin +++ b/configs/rpi-4-files/etc/init.d/irq-eth-pin @@ -3,22 +3,25 @@ uci_banirq=irqbalance.irqbalance.banirq cpu_irq_eth=2 -# Move eth0 IRQs to CPU1 (numbered 1-4 when writing) -# And ban irqbalance from messing with it -# The USB3 Ethernet IRQs cannot be moved and must stay on CPU0 -irqs_eth0=$(sed -rn "s/^\s*([0-9]+):.*eth0$/\1/p" /proc/interrupts) +move_eth0_irq() { + # Move eth0 IRQs to CPU1 (numbered 1-4 when writing) + # And ban irqbalance from messing with it + # The USB3 Ethernet IRQs cannot be moved and must stay on CPU0 + irqs_eth0=$(sed -rn "s/^\s*([0-9]+):.*eth0$/\1/p" /proc/interrupts) -for n in ${irqs_eth0}; do - echo ${cpu_irq_eth} > /proc/irq/${n}/smp_affinity - if ! uci get ${uci_banirq} | grep -q ${n}; then - uci add_list ${uci_banirq}=${n} - fi -done -uci commit + for n in ${irqs_eth0}; do + echo ${cpu_irq_eth} > /proc/irq/${n}/smp_affinity + if ! uci get ${uci_banirq} | grep -q ${n}; then + uci add_list ${uci_banirq}=${n} + fi + done + uci commit irqbalance -logger -t "irq_eth_pin" "Moved eth0 IRQs ${irqs_eth0} to cpu${cpu_irq_eth}" + logger -t "irq_eth_pin" "Moved eth0 IRQs ${irqs_eth0} to cpu${cpu_irq_eth}" + logger -t "irq_eth_pin" "See all interrupts with: cat /proc/interrupts" +} -softirqs_move() { +move_softirqs() { # Move softirqs for network traffic to CPU2 and CPU3 # Maybe not a brilliant idea because the softirqs are probably better off # being processed on the CPU that got the original IRQ @@ -34,3 +37,7 @@ softirqs_move() { done done } + +start_service() { + move_eth0_irq +}