oxnas: set irq of usb&sata to cpu1
authorJohn Crispin <john@openwrt.org>
Tue, 24 Nov 2015 18:29:14 +0000 (18:29 +0000)
committerJohn Crispin <john@openwrt.org>
Tue, 24 Nov 2015 18:29:14 +0000 (18:29 +0000)
V2:
The KD-20 also has USB 3.0.I modiy the set_irq_affinity usb 2 to set_irq_affinity ?hci_hcd 2 to bind usb 2.0&3.0 to cpu1.

Signed-off-by: Shonn Lu <countrysideboy@qq.com>
SVN-Revision: 47618

target/linux/oxnas/base-files/init.d/set-irq-affinity [new file with mode: 0755]

diff --git a/target/linux/oxnas/base-files/init.d/set-irq-affinity b/target/linux/oxnas/base-files/init.d/set-irq-affinity
new file mode 100755 (executable)
index 0000000..8ab066f
--- /dev/null
@@ -0,0 +1,22 @@
+#!/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 ehci_hcd 2
+       set_irq_affinity xhci_hcd 2
+       set_irq_affinity sata 2
+}