nss-packages-qosmio/wwan/app/quectel-cm/files/smp-affinity-qmi-usb.sh
2024-07-10 14:34:13 -04:00

25 lines
597 B
Bash

#!/bin/sh
[ "$ACTION" = add ] || exit
echo "$INTERFACE" | grep -q "wwan" || exit
core_count="$(grep -c "processor" "/proc/cpuinfo")"
irq_path="/sys/class/net/$INTERFACE/queues"
devnum="$(echo "${INTERFACE%_*}" | grep -Eo "[0-9]+")"
core="$(( devnum % (core_count - 1) + 1))"
if [ "$INTERFACE" != "${INTERFACE%_*}" ]; then
if [ "$core" -lt "$(( core_count - 1 ))" ]; then
let core++
else
core="1"
fi
fi
irq="$(printf "%x" "$((1 << core))")"
echo "$irq" > "$irq_path/rx-0/rps_cpus"
echo "4096" > "$irq_path/rx-0/rps_flow_cnt"
echo "2000" > "/proc/sys/net/core/netdev_max_backlog"
exit 0