diff --git a/target/linux/ipq807x/base-files/etc/init.d/set-irq-affinity b/target/linux/ipq807x/base-files/etc/init.d/set-irq-affinity new file mode 100755 index 0000000000..8c0399998b --- /dev/null +++ b/target/linux/ipq807x/base-files/etc/init.d/set-irq-affinity @@ -0,0 +1,15 @@ +#!/bin/sh /etc/rc.common + +START=99 + +start() { + for eth in /sys/class/net/*; do + [ -e "$eth/device" ] || continue + for i in "$eth"/queues/rx-*/rps_cpus; do echo "f" > "$i"; done + for i in "$eth"/queues/rx-*/rps_flow_cnt; do echo "4096" > "$i"; done + for i in "$eth"/queues/rx-*/xps_cpus; do echo "f" > "$i"; done + done + + echo "32768" > "/proc/sys/net/core/rps_sock_flow_entries" + echo "1" > "/proc/sys/net/core/backlog_threaded" +}