mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
set cpu affinity for linksys wrt1200/1900/3200
This commit is contained in:
parent
d9d96930c6
commit
83e5e23043
53
target/linux/mvebu/base-files/etc/init.d/set_cpu_affinity
Executable file
53
target/linux/mvebu/base-files/etc/init.d/set_cpu_affinity
Executable file
@ -0,0 +1,53 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=99
|
||||
|
||||
set_irq_affinity() {
|
||||
local name="$1"
|
||||
local val="$2"
|
||||
|
||||
case "$name" in
|
||||
wifi0)
|
||||
local irq_wifi0=`grep -E -m1 'mwlwifi' /proc/interrupts | cut -d: -f1 | tail -n1 | tr -d ' '`
|
||||
[ -n "$irq_wifi0" ] || echo "$name irq not found."
|
||||
echo "$val" > "/proc/irq/$irq_wifi0/smp_affinity"
|
||||
;;
|
||||
wifi1)
|
||||
local irq_wifi1=`grep -E -m2 'mwlwifi' /proc/interrupts | cut -d: -f1 | tail -n1 | tr -d ' '`
|
||||
[ -n "$irq_wifi1" ] || echo "$name irq not found."
|
||||
echo "$val" > "/proc/irq/$irq_wifi1/smp_affinity"
|
||||
;;
|
||||
wifi2)
|
||||
local irq_wifi1=`grep -E -m3 'mwlwifi' /proc/interrupts | cut -d: -f1 | tail -n1 | tr -d ' '`
|
||||
[ -n "$irq_wifi1" ] || echo "$name irq not found."
|
||||
echo "$val" > "/proc/irq/$irq_wifi1/smp_affinity"
|
||||
;;
|
||||
*)
|
||||
local irq=`grep -m 1 "$name" /proc/interrupts | cut -d: -f1 | sed 's, *,,'`
|
||||
[ -n "$irq" ] || echo "$name irq not found."
|
||||
echo "$val" > "/proc/irq/$irq/smp_affinity"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
start() {
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
local board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
armada-385-linksys-caiman |\
|
||||
armada-385-linksys-cobra |\
|
||||
armada-385-linksys-rango |\
|
||||
armada-385-linksys-shelby |\
|
||||
armada-xp-linksys-mamba)
|
||||
set_irq_affinity eth0 2
|
||||
set_irq_affinity eth1 2
|
||||
set_irq_affinity wifi0 2
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported hardware. CPU affinity is not adjusted."
|
||||
;;
|
||||
esac
|
||||
}
|
Loading…
Reference in New Issue
Block a user