qca-nss-drv: assign empty_buf sos/queue to core 4

This commit is contained in:
Qosmio 2024-02-11 16:24:01 -05:00
parent 001d347392
commit 1ce879e50f
2 changed files with 27 additions and 29 deletions

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=qca-nss-drv PKG_NAME:=qca-nss-drv
PKG_RELEASE:=5 PKG_RELEASE:=6
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-drv.git PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-drv.git
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git

View File

@ -18,38 +18,36 @@
START=70 START=70
enable_rps() { enable_rps() {
set_affinity() { set_affinity() {
awk "/$1/{ print substr(\$1, 1, length(\$1)-1) }" /proc/interrupts | while read irq awk "/$1/{ print substr(\$1, 1, length(\$1)-1) }" /proc/interrupts | while read -r irq; do
do [ -n "$irq" ] && echo "$2" > /proc/irq/"$irq"/smp_affinity
[ -n "$irq" ] && echo $2 > /proc/irq/$irq/smp_affinity done
done }
} set_affinity_last() {
set_affinity_last() { awk "/$1/{sub(/:/,\"\");last=\$1} END{print last}" /proc/interrupts | while read -r irq; do
awk "/$1/{sub(/:/,\"\");last=\$1} END{print last}" /proc/interrupts| while read irq [ -n "$irq" ] && echo "$2" > /proc/irq/"$irq"/smp_affinity
do done
[ -n "$irq" ] && echo $2 > /proc/irq/$irq/smp_affinity }
done
}
# assign 3 nss queues to each core # assign 3 nss queues to each core
set_affinity 'nss_queue1' 2 set_affinity 'nss_queue1' 2
set_affinity 'nss_queue2' 4 set_affinity 'nss_queue2' 4
set_affinity 'nss_queue3' 8 set_affinity 'nss_queue3' 8
set_affinity 'nss_queue0' 1 set_affinity 'nss_queue0' 1
# assign lan/wan to core 4 # assign nss buffer sos/queues to core 3
set_affinity 'nss_empty_buf_sos' 4 set_affinity 'nss_empty_buf_sos' 8
set_affinity 'nss_empty_buf_queue' 4 set_affinity 'nss_empty_buf_queue' 8
set_affinity_last 'nss_empty_buf_sos' 8 set_affinity_last 'nss_empty_buf_sos' 8
# Enable NSS RPS # Enable NSS RPS
sysctl -w dev.nss.rps.enable=1 > /dev/null 2> /dev/null sysctl -w dev.nss.rps.enable=1 > /dev/null 2> /dev/null
} }
start() { start() {
local rps_enabled="$(uci_get nss @general[0] enable_rps)" local rps_enabled
if [ "$rps_enabled" -eq 1 ]; then rps_enabled="$(uci_get nss @general[0] enable_rps)"
enable_rps if [ "$rps_enabled" -eq 1 ]; then
fi enable_rps
fi
} }