|
@@ -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
|
|
|
+}
|