mirror of
https://github.com/breeze303/nss-packages.git
synced 2025-12-16 08:44:52 +00:00
qca-nss-drv: Use smp_affinity logic from base-files
Using the framework that's provided in base-files 'smp_affinity' init script for better readability.
This commit is contained in:
parent
71c2bda76b
commit
8af2a3e75b
@ -18,44 +18,28 @@
|
||||
START=70
|
||||
|
||||
enable_rps() {
|
||||
irq_nss_rps=$(grep nss_queue1 /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
|
||||
for entry in $irq_nss_rps
|
||||
do
|
||||
echo 2 > /proc/irq/$entry/smp_affinity
|
||||
done
|
||||
set_affinity() {
|
||||
irq=$(awk "/$1/{ print substr(\$1, 1, length(\$1)-1); exit }" /proc/interrupts)
|
||||
[ -n "$irq" ] && echo $2 > /proc/irq/$irq/smp_affinity
|
||||
}
|
||||
|
||||
irq_nss_rps=$(grep nss_queue2 /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
|
||||
for entry in $irq_nss_rps
|
||||
do
|
||||
echo 4 > /proc/irq/$entry/smp_affinity
|
||||
done
|
||||
# assign 3 nss queues to each core
|
||||
set_affinity 'nss_queue1' 2
|
||||
set_affinity 'nss_queue2' 4
|
||||
set_affinity 'nss_queue3' 8
|
||||
set_affinity 'nss_queue0' 1
|
||||
|
||||
irq_nss_rps=$(grep nss_queue3 /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
|
||||
for entry in $irq_nss_rps
|
||||
do
|
||||
echo 8 > /proc/irq/$entry/smp_affinity
|
||||
done
|
||||
|
||||
irq_nss_rps=$(grep nss_queue0 /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
|
||||
for entry in $irq_nss_rps
|
||||
do
|
||||
echo 8 > /proc/irq/$entry/smp_affinity
|
||||
done
|
||||
|
||||
awk '/nss_empty_buf/{sub(/:/,""); print $1}' /proc/interrupts|while read -r entry
|
||||
do
|
||||
echo 4 > /proc/irq/$entry/smp_affinity
|
||||
done
|
||||
# assign lan/wan to core 4
|
||||
set_affinity 'nss_empty_buf_sos' 4
|
||||
set_affinity 'nss_empty_buf_queue' 4
|
||||
|
||||
# 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() {
|
||||
local rps_enabled="$(uci_get nss @general[0] enable_rps)"
|
||||
if [ "$rps_enabled" -eq 1 ]; then
|
||||
enable_rps
|
||||
enable_rps
|
||||
fi
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user