From: Alan Swanson Date: Fri, 15 Nov 2019 14:12:02 +0000 (+0000) Subject: netifd: rename 20-smp-tune to 20-smp-packet-steering X-Git-Tag: v21.02.0-rc1~3620 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=25cb5685c16b93147e2f120b5566d24d820f2c48;p=openwrt%2Fopenwrt.git netifd: rename 20-smp-tune to 20-smp-packet-steering Rename the script to be more obvious that this is for packet steering only. Signed-off-by: Alan Swanson --- diff --git a/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-packet-steering b/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-packet-steering new file mode 100644 index 0000000000..9d7aaae0ac --- /dev/null +++ b/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-packet-steering @@ -0,0 +1,62 @@ +#!/bin/sh +[ "$ACTION" = add ] || exit + +NPROCS="$(grep -c "^processor.*:" /proc/cpuinfo)" +[ "$NPROCS" -gt 1 ] || exit + +PROC_MASK="$(( (1 << $NPROCS) - 1 ))" + +find_irq_cpu() { + local dev="$1" + local match="$(grep -m 1 "$dev\$" /proc/interrupts)" + local cpu=0 + + [ -n "$match" ] && { + set -- $match + shift + for cur in `seq 1 $NPROCS`; do + [ "$1" -gt 0 ] && { + cpu=$(($cur - 1)) + break + } + shift + done + } + + echo "$cpu" +} + +set_hex_val() { + local file="$1" + local val="$2" + val="$(printf %x "$val")" + [ -n "$DEBUG" ] && echo "$file = $val" + echo "$val" > "$file" +} + +packet_steering="$(uci get "network.@globals[0].packet_steering")" +[ "$packet_steering" != 1 ] && exit 0 + +exec 512>/var/lock/smp_tune.lock +flock 512 || exit 1 + +for dev in /sys/class/net/*; do + [ -d "$dev" ] || continue + + # ignore virtual interfaces + [ -n "$(ls "${dev}/" | grep '^lower_')" ] && continue + [ -d "${dev}/device" ] || continue + + device="$(readlink "${dev}/device")" + device="$(basename "$device")" + irq_cpu="$(find_irq_cpu "$device")" + irq_cpu_mask="$((1 << $irq_cpu))" + + for q in ${dev}/queues/rx-*; do + set_hex_val "$q/rps_cpus" "$PROC_MASK" + done + + for q in ${dev}/queues/tx-*; do + set_hex_val "$q/xps_cpus" "$PROC_MASK" + done +done diff --git a/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-tune b/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-tune deleted file mode 100644 index 9d7aaae0ac..0000000000 --- a/package/network/config/netifd/files/etc/hotplug.d/net/20-smp-tune +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -[ "$ACTION" = add ] || exit - -NPROCS="$(grep -c "^processor.*:" /proc/cpuinfo)" -[ "$NPROCS" -gt 1 ] || exit - -PROC_MASK="$(( (1 << $NPROCS) - 1 ))" - -find_irq_cpu() { - local dev="$1" - local match="$(grep -m 1 "$dev\$" /proc/interrupts)" - local cpu=0 - - [ -n "$match" ] && { - set -- $match - shift - for cur in `seq 1 $NPROCS`; do - [ "$1" -gt 0 ] && { - cpu=$(($cur - 1)) - break - } - shift - done - } - - echo "$cpu" -} - -set_hex_val() { - local file="$1" - local val="$2" - val="$(printf %x "$val")" - [ -n "$DEBUG" ] && echo "$file = $val" - echo "$val" > "$file" -} - -packet_steering="$(uci get "network.@globals[0].packet_steering")" -[ "$packet_steering" != 1 ] && exit 0 - -exec 512>/var/lock/smp_tune.lock -flock 512 || exit 1 - -for dev in /sys/class/net/*; do - [ -d "$dev" ] || continue - - # ignore virtual interfaces - [ -n "$(ls "${dev}/" | grep '^lower_')" ] && continue - [ -d "${dev}/device" ] || continue - - device="$(readlink "${dev}/device")" - device="$(basename "$device")" - irq_cpu="$(find_irq_cpu "$device")" - irq_cpu_mask="$((1 << $irq_cpu))" - - for q in ${dev}/queues/rx-*; do - set_hex_val "$q/rps_cpus" "$PROC_MASK" - done - - for q in ${dev}/queues/tx-*; do - set_hex_val "$q/xps_cpus" "$PROC_MASK" - done -done