summaryrefslogtreecommitdiffstats
path: root/target/linux/oxnas/base-files/etc/init.d/set-irq-affinity
blob: 8ab066ff4cab00e68f7f78b3c37392a54c445f80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
}