mirror of
https://github.com/qosmio/nss-packages.git
synced 2025-12-18 09:11:43 +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
|
START=70
|
||||||
|
|
||||||
enable_rps() {
|
enable_rps() {
|
||||||
irq_nss_rps=$(grep nss_queue1 /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
|
set_affinity() {
|
||||||
for entry in $irq_nss_rps
|
irq=$(awk "/$1/{ print substr(\$1, 1, length(\$1)-1); exit }" /proc/interrupts)
|
||||||
do
|
[ -n "$irq" ] && echo $2 > /proc/irq/$irq/smp_affinity
|
||||||
echo 2 > /proc/irq/$entry/smp_affinity
|
}
|
||||||
done
|
|
||||||
|
|
||||||
irq_nss_rps=$(grep nss_queue2 /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
|
# assign 3 nss queues to each core
|
||||||
for entry in $irq_nss_rps
|
set_affinity 'nss_queue1' 2
|
||||||
do
|
set_affinity 'nss_queue2' 4
|
||||||
echo 4 > /proc/irq/$entry/smp_affinity
|
set_affinity 'nss_queue3' 8
|
||||||
done
|
set_affinity 'nss_queue0' 1
|
||||||
|
|
||||||
irq_nss_rps=$(grep nss_queue3 /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
|
# assign lan/wan to core 4
|
||||||
for entry in $irq_nss_rps
|
set_affinity 'nss_empty_buf_sos' 4
|
||||||
do
|
set_affinity 'nss_empty_buf_queue' 4
|
||||||
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
|
|
||||||
|
|
||||||
# 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="$(uci_get nss @general[0] enable_rps)"
|
||||||
if [ "$rps_enabled" -eq 1 ]; then
|
if [ "$rps_enabled" -eq 1 ]; then
|
||||||
enable_rps
|
enable_rps
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user