aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-03-10 01:01:51 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-03-10 01:01:51 +0000
commit3d919b7c086977cdf470042530e5d1bcf1e514b9 (patch)
treefa87bce036784d75b23a931fcfb5f4d3879735fa /target
parent681769d0c05150ad1d68a1eaca0ea6597168b117 (diff)
downloadupstream-3d919b7c086977cdf470042530e5d1bcf1e514b9.tar.gz
upstream-3d919b7c086977cdf470042530e5d1bcf1e514b9.tar.bz2
upstream-3d919b7c086977cdf470042530e5d1bcf1e514b9.zip
cns3xxx: disable CONFIG_PROC_STRIPPED and add an init script to set the ethernet cpu affinity (improves lan<->wlan bridging performance)
SVN-Revision: 35915
Diffstat (limited to 'target')
-rwxr-xr-xtarget/linux/cns3xxx/base-files/etc/init.d/netdev-cpu21
-rw-r--r--target/linux/cns3xxx/config-3.81
2 files changed, 22 insertions, 0 deletions
diff --git a/target/linux/cns3xxx/base-files/etc/init.d/netdev-cpu b/target/linux/cns3xxx/base-files/etc/init.d/netdev-cpu
new file mode 100755
index 0000000000..3a2a57bc1e
--- /dev/null
+++ b/target/linux/cns3xxx/base-files/etc/init.d/netdev-cpu
@@ -0,0 +1,21 @@
+#!/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() {
+ set_irq_affinity gig_switch 2
+ set_irq_affinity gig_stat 2
+}
diff --git a/target/linux/cns3xxx/config-3.8 b/target/linux/cns3xxx/config-3.8
index c3f4fb1646..f308db02e5 100644
--- a/target/linux/cns3xxx/config-3.8
+++ b/target/linux/cns3xxx/config-3.8
@@ -166,6 +166,7 @@ CONFIG_PL310_ERRATA_769419=y
CONFIG_PPS=y
CONFIG_PPS_CLIENT_GPIO=y
# CONFIG_PREEMPT_RCU is not set
+# CONFIG_PROC_STRIPPED is not set
CONFIG_RAID_ATTRS=y
CONFIG_RFS_ACCEL=y
CONFIG_RPS=y