mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 21:58:04 +00:00
ramips: move wifi related interrupts off the main core on SMP systems
Improves LAN<->WLAN bridging/routing performance Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
e1496d631e
commit
01895c315f
31
target/linux/ramips/base-files/etc/init.d/set-irq-affinity
Executable file
31
target/linux/ramips/base-files/etc/init.d/set-irq-affinity
Executable file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=99
|
||||
|
||||
get_irq() {
|
||||
local name="$1"
|
||||
grep -m 1 "$name" /proc/interrupts | cut -d: -f1 | sed 's, *,,'
|
||||
}
|
||||
|
||||
set_irq_affinity() {
|
||||
local name="$1"
|
||||
local val="$2"
|
||||
local irq="$(get_irq "$name")"
|
||||
[ -n "$irq" ] || return
|
||||
echo "$val" > "/proc/irq/$irq/smp_affinity"
|
||||
}
|
||||
|
||||
start() {
|
||||
if grep -q 'processor.*: 2' /proc/cpuinfo; then
|
||||
mask1=4
|
||||
mask2=8
|
||||
elif grep -q 'processor.*: 1' /proc/cpuinfo; then
|
||||
mask1=2
|
||||
mask2=2
|
||||
else
|
||||
return
|
||||
fi
|
||||
|
||||
set_irq_affinity mt76x2e $mask1
|
||||
set_irq_affinity mt7603e $mask2
|
||||
}
|
Loading…
Reference in New Issue
Block a user