NanoPI R6S with OpenWRT

Thank you, I had removed sensitive data, but because formatting in my post was not good I deleted the code and pasted again and then forgot to remove password again! I changed wan to eth1 and think it is ok.

Now it is:

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd00:ab:cd::/48'
        option packet_steering '1'

config device
        option name 'eth1.835'
        option type '8021q'
        option ifname 'eth1'
        option vid '835'

config interface 'wan'
        option device 'eth1.835'
        option proto 'pppoe'
        option username 'xxx@xxx.xx'
        option password 'xxx'
        option ipv6 'auto'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'
        list ports 'eth2'

config device
        option name 'eth1'

config device
        option name 'eth0'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
1 Like

@Rome2 can you show the output of -

grep . /sys/class/net/eth?/queues/?x-0/?ps_cpus
cat /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
cat /proc/interrupts

and also with the -rss are you using irqbalance?

hey just wanna ask your final settings -- its the optimization from starwhiz guide + packet steering? or is it without packet steering?

I don't know if something is out there already, but I was scripting a bit and *poof* out came: cpu_affinity service. Its experimental but you get the idea. I took some example data from this thread, so kindly configure your own via uci or nano.

config: /etc/config/cpu_affinity

config little
    option cores '0-3'
    list processes 'crond'

config big
    option cores '4-7'
    list processes 'openvpn'

service: /etc/init.d/cpu_affinity (dont forget to chmod +x )

#!/bin/sh /etc/rc.common

START=99
STOP=99

NAME=cpu_affinity
LOCK=/var/lock/cpu_affinity.lock
EXTRA_COMMANDS="list"

affinity() {
for type in little big
do
cores="$(uci get cpu_affinity.@$type[0].cores)"
processes="$(uci get cpu_affinity.@$type[0].processes)"
case $1 in
set)   logger -t $NAME "setting $type: cores $cores affinity for: $processes";;
clear) logger -t $NAME "clearing affinity for: $processes";;
esac
for pid in $(pgrep "${processes// /|}")
do
case $1 in
set)   taskset -ap -c "$cores" "$pid" &>/dev/null ;;
clear) taskset -p 0xff "$pid" &>/dev/null ;;
esac
done
done
}

status() {
[ -e "$LOCK" ]
}

start() {
status && return 1
touch "$LOCK"
affinity set
}

stop() {
status || return 1
affinity clear
rm -f "$LOCK"
}

list() {
process_list="
$(uci get cpu_affinity.@little[0].processes)
$(uci get cpu_affinity.@big[0].processes)
"
awk -v process_list="$process_list" '
BEGIN {
printf "%-30s %s\n", "Name:", "Allowed Cores:"
split(process_list, allowed_process," ")
for (i in allowed_process) {
process_set[allowed_process[i]] = 1
}
}
/^Name:/ { name = $2 }
/^Cpus_allowed_list:/ { cpus_allowed_list = $2 }
/^Cpus_allowed:/ { cpus_allowed = $2 }
/^Cpus_allowed_list:/ {
if (cpus_allowed != "ff" && name ~ /^[a-zA-Z0-9_-]+$/ && name in process_set) {
unique_key = name ":" cpus_allowed_list
if (!seen[unique_key]++) {
printf "%-30s %s\n", name, cpus_allowed_list
}
}
}
' /proc/*/status
}

start/stop/list:

# service cpu_affinity start
# service cpu_affinity list
Name:                          Allowed Cores:
crond                          0-3
# service cpu_affinity stop
# service cpu_affinity list
Name:                          Allowed Cores:

logging:

# service cpu_affinity start
# service cpu_affinity stop
# logread -e cpu_affinity
user.notice cpu_affinity: setting little: cores 0-3 affinity for: crond
user.notice cpu_affinity: setting big: cores 4-7 affinity for: openvpn
user.notice cpu_affinity: clearing affinity for: crond
user.notice cpu_affinity: clearing affinity for: openvpn
#

add process:

# uci add_list cpu_affinity.@little[0].processes=cheese
# uci show cpu_affinity
cpu_affinity.@little[0]=little
cpu_affinity.@little[0].cores='0-3'
cpu_affinity.@little[0].processes='crond' 'cheese'
cpu_affinity.@big[0]=big
cpu_affinity.@big[0].cores='4-7'
cpu_affinity.@big[0].processes='openvpn'
#

remove process:

# uci del_list cpu_affinity.@little[0].processes=cheese
# uci show cpu_affinity
cpu_affinity.@little[0]=little
cpu_affinity.@little[0].cores='0-3'
cpu_affinity.@little[0].processes='crond'
cpu_affinity.@big[0]=big
cpu_affinity.@big[0].cores='4-7'
cpu_affinity.@big[0].processes='openvpn'
#

It was fun, hopefully its useful, if not Oh well :blush:

edit:
fixed a few mistakes, cleaned up code, and added list

1 Like

sorry for the late reply been busy but yes i will

1 Like
grep . /sys/class/net/eth?/queues/?x-0/?ps_cpus
/sys/class/net/eth0/queues/rx-0/rps_cpus:01
/sys/class/net/eth0/queues/tx-0/xps_cpus:00
/sys/class/net/eth1/queues/rx-0/rps_cpus:04
/sys/class/net/eth1/queues/tx-0/xps_cpus:00
/sys/class/net/eth2/queues/rx-0/rps_cpus:80
/sys/class/net/eth2/queues/tx-0/xps_cpus:00
root@OpenWrt:~# cat /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
schedutil
schedutil
schedutil
root@OpenWrt:~# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
 19:    3784107     174544    8715020      30858    4188675    3985617    3380862    5952610     GICv3  26 Level     arch_timer
 25:     755653     198638    1312817      56123     942886     652393    2555698    1081302     GICv3 321 Level     rk_timer
 31:          0          0          0          0          0          0          0          0     GICv3 425 Level     rockchip_usb2phy
 32:          1          0          0          0          0          0          0          0     GICv3 423 Level     rockchip_usb2phy
 33:          0          0          0          0          0          0          0          0     GICv3 118 Level     fea10000.dma-controller
 34:          0          0          0          0          0          0          0          0     GICv3 119 Level     fea10000.dma-controller
 35:          0          0          0          0          0          0          0          0     GICv3 120 Level     fea30000.dma-controller
 36:          0          0          0          0          0          0          0          0     GICv3 121 Level     fea30000.dma-controller
 37:          0          0          0          0          0          0          0          0     GICv3 122 Level     fed10000.dma-controller
 38:          0          0          0          0          0          0          0          0     GICv3 123 Level     fed10000.dma-controller
 39:          6          0          0          0          0          0          0          0     GICv3 365 Level     ttyS2
 40:     400484          0          0          0          0          0          0          0     GICv3 360 Level     feb20000.spi
 41:          0          0          0          0          0          0          0          0  rockchip_gpio_irq   7 Level     rk806
 42:          0          0          0          0          0          0          0          0     rk806   0 Edge      rk805_pwrkey_fall
 43:          0          0          0          0          0          0          0          0     rk806   1 Edge      rk805_pwrkey_rise
 58:          0    2781945          0          0          0          0          0          0     GICv3 266 Level     eth0
 59:          0          0          0          0          0          0          0          0     GICv3 265 Level     eth0
 60:          0          0          0          0          0          0          0          0     GICv3 252 Level     xhci-hcd:usb1
 61:          0          0          0          0          0          0          0          0     GICv3 247 Level     ehci_hcd:usb3
 62:          0          0          0          0          0          0          0          0     GICv3 248 Level     ohci_hcd:usb2
 63:    3878304          0          0          0          0          0          0          0     GICv3 349 Level     fd880000.i2c
 64:         27          0          0          0          0          0          0          0     GICv3 351 Level     feaa0000.i2c
 65:        942          0          0          0          0          0          0          0     GICv3 355 Level     fec80000.i2c
 66:          0          0          0          0          0          0          0          0  rockchip_gpio_irq   8 Level     hym8563
 67:          0          0          0          0          0          0          0          0     GICv3 429 Level     rockchip_thermal
 68:          0          0          0          0          0          0          0          0     GICv3 347 Edge      feaf0000.watchdog
 69:          0          0          0          0          0          0          0          0     GICv3 235 Level     dw-mci
 70:       1858          0          0          0          0          0          0          0     GICv3 237 Level     mmc1
 81:          0          0          0          0          0          0          0          0   ITS-MSI 427819016 Edge      PCIe PME
 82:          0          0          0          0          0          0          0          0   ITS-MSI 427819017 Edge      aerdrv
 93:          0          0          0          0          0          0          0          0   ITS-MSI 570425352 Edge      PCIe PME
 94:          0          0          0          0          0          0          0          0   ITS-MSI 570425353 Edge      aerdrv
 95:          0          0          0          0          0          0          0          0  rockchip_gpio_irq  16 Edge      gpio-keys
 96:          0          0          0          0    2320281          0          0          0   ITS-MSI 428343296 Edge      eth1-0
 97:          0          0          0          0          0    2518248          0          0   ITS-MSI 428343297 Edge      eth1-1
 98:          0          0          0          0          0          0    2031432          0   ITS-MSI 428343298 Edge      eth1-2
 99:          0          0          0          0          0          0          0    2429106   ITS-MSI 428343299 Edge      eth1-3
100:          0          0          0          0          0          0          0          0   ITS-MSI 428343300 Edge      eth1-4
101:          0          0          0          0          0          0          0          0   ITS-MSI 428343301 Edge      eth1-5
102:          0          0          0          0          0          0          0          0   ITS-MSI 428343302 Edge      eth1-6
103:          0          0          0          0          0          0          0          0   ITS-MSI 428343303 Edge      eth1-7
104:          0          0          0          0          0          0          0          0   ITS-MSI 428343304 Edge      eth1-8
105:          0          0          0          0          0          0          0          0   ITS-MSI 428343305 Edge      eth1-9
106:          0          0          0          0          0          0          0          0   ITS-MSI 428343306 Edge      eth1-10
107:          0          0          0          0          0          0          0          0   ITS-MSI 428343307 Edge      eth1-11
108:          0          0          0          0          0          0          0          0   ITS-MSI 428343308 Edge      eth1-12
109:          0          0          0          0          0          0          0          0   ITS-MSI 428343309 Edge      eth1-13
110:          0          0          0          0          0          0          0          0   ITS-MSI 428343310 Edge      eth1-14
111:          0          0          0          0          0          0          0          0   ITS-MSI 428343311 Edge      eth1-15
112:          0          0          0          0    6721719          0          0          0   ITS-MSI 428343312 Edge      eth1-16
113:          0          0          0          0          0          0          0          0   ITS-MSI 428343313 Edge      eth1-17
114:          0          0          0          0          0          0          0          0   ITS-MSI 428343314 Edge      eth1-18
115:          0          0          0          0          0          0          0          0   ITS-MSI 428343315 Edge      eth1-19
116:          0          0          0          0          0          0          0          0   ITS-MSI 428343316 Edge      eth1-20
117:          0          3          0          0          0          0          0          0   ITS-MSI 428343317 Edge      eth1-21
118:          0          0          0          0          0          0          0          0   ITS-MSI 428343318 Edge      eth1-22
119:          0          0          0          0          0          0          0          0   ITS-MSI 428343319 Edge      eth1-23
120:          0          0          0          0          0          0          0          0   ITS-MSI 428343320 Edge      eth1-24
121:          0          0          0          0          0          0          0          0   ITS-MSI 428343321 Edge      eth1-25
122:          0          0          0          0          0          0          0          0   ITS-MSI 428343322 Edge      eth1-26
123:          0          0          0          0          0          0          0          0   ITS-MSI 428343323 Edge      eth1-27
124:          0          0          0          0          0          0          0          0   ITS-MSI 428343324 Edge      eth1-28
125:          0          0          0          0          0          0          0          0   ITS-MSI 428343325 Edge      eth1-29
126:          0          0          0          0          0          0          0          0   ITS-MSI 428343326 Edge      eth1-30
127:          0          0          0          0          0          0          0          0   ITS-MSI 428343327 Edge      eth1-31
128:          0          0          0          0    1146974          0          0          0   ITS-MSI 570949632 Edge      eth2-0
129:          0          0          0          0          0     782590          0          0   ITS-MSI 570949633 Edge      eth2-1
130:          0          0          0          0          0          0     694130          0   ITS-MSI 570949634 Edge      eth2-2
131:          0          0          0          0          0          0          0     923434   ITS-MSI 570949635 Edge      eth2-3
132:          0          0          0          0          0          0          0          0   ITS-MSI 570949636 Edge      eth2-4
133:          0          0          0          0          0          0          0          0   ITS-MSI 570949637 Edge      eth2-5
134:          0          0          0          0          0          0          0          0   ITS-MSI 570949638 Edge      eth2-6
135:          0          0          0          0          0          0          0          0   ITS-MSI 570949639 Edge      eth2-7
136:          0          0          0          0          0          0          0          0   ITS-MSI 570949640 Edge      eth2-8
137:          0          0          0          0          0          0          0          0   ITS-MSI 570949641 Edge      eth2-9
138:          0          0          0          0          0          0          0          0   ITS-MSI 570949642 Edge      eth2-10
139:          0          0          0          0          0          0          0          0   ITS-MSI 570949643 Edge      eth2-11
140:          0          0          0          0          0          0          0          0   ITS-MSI 570949644 Edge      eth2-12
141:          0          0          0          0          0          0          0          0   ITS-MSI 570949645 Edge      eth2-13
142:          0          0          0          0          0          0          0          0   ITS-MSI 570949646 Edge      eth2-14
143:          0          0          0          0          0          0          0          0   ITS-MSI 570949647 Edge      eth2-15
144:          0          0          0          0    6887914          0          0          0   ITS-MSI 570949648 Edge      eth2-16
145:          0          0          0          0          0          0          0          0   ITS-MSI 570949649 Edge      eth2-17
146:          0          0          0          0          0          0          0          0   ITS-MSI 570949650 Edge      eth2-18
147:          0          0          0          0          0          0          0          0   ITS-MSI 570949651 Edge      eth2-19
148:          0          0          0          0          0          0          0          0   ITS-MSI 570949652 Edge      eth2-20
149:          0          1          0          0          0          0          0          0   ITS-MSI 570949653 Edge      eth2-21
150:          0          0          0          0          0          0          0          0   ITS-MSI 570949654 Edge      eth2-22
151:          0          0          0          0          0          0          0          0   ITS-MSI 570949655 Edge      eth2-23
152:          0          0          0          0          0          0          0          0   ITS-MSI 570949656 Edge      eth2-24
153:          0          0          0          0          0          0          0          0   ITS-MSI 570949657 Edge      eth2-25
154:          0          0          0          0          0          0          0          0   ITS-MSI 570949658 Edge      eth2-26
155:          0          0          0          0          0          0          0          0   ITS-MSI 570949659 Edge      eth2-27
156:          0          0          0          0          0          0          0          0   ITS-MSI 570949660 Edge      eth2-28
157:          0          0          0          0          0          0          0          0   ITS-MSI 570949661 Edge      eth2-29
158:          0          0          0          0          0          0          0          0   ITS-MSI 570949662 Edge      eth2-30
159:          0          0          0          0          0          0          0          0   ITS-MSI 570949663 Edge      eth2-31
IPI0:     60339      94120      46982      45911      83068      36912     124219      44792       Rescheduling interrupts
IPI1:   2180550     537333    5834933      31004     891426     281326     951064    2630964       Function call interrupts
IPI2:         0          0          0          0          0          0          0          0       CPU stop interrupts
IPI3:         0          0          0          0          0          0          0          0       CPU stop (for crash dump) interrupts
IPI4:    209653     298865     387649     341249     574204     691383     901448     652689       Timer broadcast interrupts
IPI5:     19225      15197      18526      20258      47986      57571      73087      61403       IRQ work interrupts
IPI6:         0          0          0          0          0          0          0          0       CPU wake-up interrupts
Err:          0

/sys/class/net/eth0/queues/rx-0/rps_cpus:ff
/sys/class/net/eth0/queues/tx-0/xps_cpus:ff
/sys/class/net/eth1/queues/rx-0/rps_cpus:ff
/sys/class/net/eth1/queues/tx-0/xps_cpus:ff
/sys/class/net/eth2/queues/rx-0/rps_cpus:ff
/sys/class/net/eth2/queues/tx-0/xps_cpus:ff

grep . /sys/class/net/eth?/queues/?x-0/?ps_cpus

 60:          0          0          0          0          0          0          0          0     GICv3 265 Level     eth0
 98:    2568253    4839322    4462575    1458722    1293033    6196091    1345679    2532522   ITS-MSI 428343296 Edge      eth2-0
 99:          0          0          0          0          0          0          0          0   ITS-MSI 428343297 Edge      eth2-1
100:          0          0          0          0          0          0          0          0   ITS-MSI 428343298 Edge      eth2-2
101:          0          0          0          0          0          0          0          0   ITS-MSI 428343299 Edge      eth2-3
102:          0          0          0          0          0          0          0          0   ITS-MSI 428343300 Edge      eth2-4
103:          0          0          0          0          0          0          0          0   ITS-MSI 428343301 Edge      eth2-5
104:          0          0          0          0          0          0          0          0   ITS-MSI 428343302 Edge      eth2-6
105:          0          0          0          0          0          0          0          0   ITS-MSI 428343303 Edge      eth2-7
106:          0          0          0          0          0          0          0          0   ITS-MSI 428343304 Edge      eth2-8
107:          0          0          0          0          0          0          0          0   ITS-MSI 428343305 Edge      eth2-9
108:          0          0          0          0          0          0          0          0   ITS-MSI 428343306 Edge      eth2-10
109:          0          0          0          0          0          0          0          0   ITS-MSI 428343307 Edge      eth2-11
110:          0          0          0          0          0          0          0          0   ITS-MSI 428343308 Edge      eth2-12
111:          0          0          0          0          0          0          0          0   ITS-MSI 428343309 Edge      eth2-13
112:          0          0          0          0          0          0          0          0   ITS-MSI 428343310 Edge      eth2-14
113:          0          0          0          0          0          0          0          0   ITS-MSI 428343311 Edge      eth2-15
114:    3710151    1677626    4879629    1812187    2753564    3886593    2311334    3953688   ITS-MSI 428343312 Edge      eth2-16
115:          0          0          0          0          0          0          0          0   ITS-MSI 428343313 Edge      eth2-17
116:          0          0          0          0          0          0          0          0   ITS-MSI 428343314 Edge      eth2-18
117:          0          0          0          0          0          0          0          0   ITS-MSI 428343315 Edge      eth2-19
118:          0          0          0          0          0          0          0          0   ITS-MSI 428343316 Edge      eth2-20
119:          0          1          0          0          0          1          0          0   ITS-MSI 428343317 Edge      eth2-21
120:          0          0          0          0          0          0          0          0   ITS-MSI 428343318 Edge      eth2-22
121:          0          0          0          0          0          0          0          0   ITS-MSI 428343319 Edge      eth2-23
122:          0          0          0          0          0          0          0          0   ITS-MSI 428343320 Edge      eth2-24
123:          0          0          0          0          0          0          0          0   ITS-MSI 428343321 Edge      eth2-25
124:          0          0          0          0          0          0          0          0   ITS-MSI 428343322 Edge      eth2-26
125:          0          0          0          0          0          0          0          0   ITS-MSI 428343323 Edge      eth2-27
126:          0          0          0          0          0          0          0          0   ITS-MSI 428343324 Edge      eth2-28
127:          0          0          0          0          0          0          0          0   ITS-MSI 428343325 Edge      eth2-29
128:          0          0          0          0          0          0          0          0   ITS-MSI 428343326 Edge      eth2-30
129:          0          0          0          0          0          0          0          0   ITS-MSI 428343327 Edge      eth2-31
130:     940631     485839    1504739     631783     763995    1422699     786071    1578120   ITS-MSI 570949632 Edge      eth1-0
131:     362484     531466     429502     656707     963526     914912     553905     838999   ITS-MSI 570949633 Edge      eth1-1
132:     648014     684173    1028146     618596     894812     840291    1015920    1596134   ITS-MSI 570949634 Edge      eth1-2
133:    1513717     472303     622097     369838     807521    1030607     767309    1080250   ITS-MSI 570949635 Edge      eth1-3
134:          0          0          0          0          0          0          0          0   ITS-MSI 570949636 Edge      eth1-4
135:          0          0          0          0          0          0          0          0   ITS-MSI 570949637 Edge      eth1-5
136:          0          0          0          0          0          0          0          0   ITS-MSI 570949638 Edge      eth1-6
137:          0          0          0          0          0          0          0          0   ITS-MSI 570949639 Edge      eth1-7
138:          0          0          0          0          0          0          0          0   ITS-MSI 570949640 Edge      eth1-8
139:          0          0          0          0          0          0          0          0   ITS-MSI 570949641 Edge      eth1-9
140:          0          0          0          0          0          0          0          0   ITS-MSI 570949642 Edge      eth1-10
141:          0          0          0          0          0          0          0          0   ITS-MSI 570949643 Edge      eth1-11
142:          0          0          0          0          0          0          0          0   ITS-MSI 570949644 Edge      eth1-12
143:          0          0          0          0          0          0          0          0   ITS-MSI 570949645 Edge      eth1-13
144:          0          0          0          0          0          0          0          0   ITS-MSI 570949646 Edge      eth1-14
145:          0          0          0          0          0          0          0          0   ITS-MSI 570949647 Edge      eth1-15
146:   11965482    1521760    5474350    2741014    6354575    3497703    1708338    3846433   ITS-MSI 570949648 Edge      eth1-16
147:          0          0          0          0          0          0          0          0   ITS-MSI 570949649 Edge      eth1-17
148:          0          0          0          0          0          0          0          0   ITS-MSI 570949650 Edge      eth1-18
149:          0          0          0          0          0          0          0          0   ITS-MSI 570949651 Edge      eth1-19
150:          0          0          0          0          0          0          0          0   ITS-MSI 570949652 Edge      eth1-20
151:          0          1          0          1          0          0          0          0   ITS-MSI 570949653 Edge      eth1-21
152:          0          0          0          0          0          0          0          0   ITS-MSI 570949654 Edge      eth1-22
153:          0          0          0          0          0          0          0          0   ITS-MSI 570949655 Edge      eth1-23
154:          0          0          0          0          0          0          0          0   ITS-MSI 570949656 Edge      eth1-24
155:          0          0          0          0          0          0          0          0   ITS-MSI 570949657 Edge      eth1-25
156:          0          0          0          0          0          0          0          0   ITS-MSI 570949658 Edge      eth1-26
157:          0          0          0          0          0          0          0          0   ITS-MSI 570949659 Edge      eth1-27
158:          0          0          0          0          0          0          0          0   ITS-MSI 570949660 Edge      eth1-28
159:          0          0          0          0          0          0          0          0   ITS-MSI 570949661 Edge      eth1-29
160:          0          0          0          0          0          0          0          0   ITS-MSI 570949662 Edge      eth1-30
161:          0          0          0          0          0          0          0          0   ITS-MSI 570949663 Edge      eth1-31

it should look like this.

install irqbalance, set your cpus to performance, and enable packet steering.

Ahh I see. So nothing to edit for the smp affinity profile?

based on your outputs you haven't, are you using packet steering? you can manually do it with

friendlyarm,nanopi-r6s)
	set_interface_core 2 "eth0"
	set_interface_core 4 "eth1"
	set_interface_core 8 "eth2"
	find /sys/class/net/eth*/queues/[rt]x-[01]/[rx]ps_cpus -exec sh -c '[ -w {} ] && echo ff > {} 2>/dev/null' \;
	;;

your tx-0 xps queues for eth1 and eth2 are all on cpu 0, they should all show ff (all cpus) as should rx rps.

try the above to start, i would install irqbalance and set your cpu to performance

No I haven’t done anything. I’ve tried the @StarWhiz file optimization for openwrt 24.10 but it didn’t work. I was still seeing massive latency spikes when capping download beyond 1100mb. What I’m asking is, all I have to do is set cpu scaling to performance, enable irqbalance opkg, and packet steering? No configuration to the smp-affinity file?

its above, yes add it. Post your affinity file please. Your outputs show pretty much default settings, to achieve what you desire you need to adjust your setup.

do we need to apply other tweaks than starwhiz's tweak below?

friendlyelec,nanopi-r6s)
        set_interface_core 2 "eth0"
        echo fe > /sys/class/net/eth0/queues/rx-0/rps_cpus
        set_interface_core 4 "eth1-0"
        set_interface_core 4 "eth1-16"
        set_interface_core 4 "eth1-18"
        echo fe > /sys/class/net/eth1/queues/rx-0/rps_cpus
        set_interface_core 8 "eth2-0"
        set_interface_core 8 "eth2-16"
        set_interface_core 8 "eth2-18"
        echo fe > /sys/class/net/eth2/queues/rx-0/rps_cpus
        ;;
  1. do we still need to enable packet steering?
  2. do we need to install irqbalance?
  3. do we need to enable software offloading?

what kmod-81?? driver are you using?

also please show output of -

cat /proc/interrupts

and

grep . /sys/class/net/eth?/queues/?x-0/?ps_cpus

personally if i'm using the 8169 driver, i will manually allocate the cores and queues. (eth's on the slower cpu's and put the queues on Fast cpu's)
If i'm using the 8125-rss driver from my experience leave the cores as per affinity file, I would use irqbalance and spread all the queues using packet steering or if not manually in the smp_affinity file.

This would be my personal approach for R6S, hope it helps.

If your not using SQM or a QOS package, then yes use software offloading. I use qosmate so have it off.

Unfortunately I’ve tried all your settings and it didn’t work for me. Even capping at 1200mb my download active would go up to 57ms plus on waveform bufferbloat test. Don’t know what’s up with my R6S :confused:

can you show the ouptuts? perhaps i can see if there's anything wrong

If anyone needs official FriendlyWRT based on OpenWRT 24.10, it’s here.
Under Releases > expand all assets > find the image for your device (r6s)

Just used the guide and did enable packet steering.

1 Like

Sure thing man. Also one thing. Disabling c-states on my R6S actually helped out a lot with trying to limit bufferbloat. Still so much I’m trying to dig into on this NanoPi. Also what outputs do you need me to show? Currently I’m using Qosmate and that’s helping but with regular sqm I cannot cap over 1100mb for cake as that pretty much makes download latency sky rocket to the hundreds of ms range.

Would you mind trying to turn packet steering off and see if it helps with the bufferbloat and maintain the speeds? Trying to isolate whether packet steering helps on top of starwhiz tweaks.

Doesn't seem to make any difference with it on or off, virtually the same numbers.

1 Like