提交 83e5e230 编写于 作者: C coolsnowwolf

set cpu affinity for linksys wrt1200/1900/3200

上级 d9d96930
#!/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
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册