Netgear R7800 exploration (IPQ8065, QCA9984)

That seems to help a bit, though initially it didn't look like it. It seems that I have stable pings if there is other activity on the network regardless of location services, e.g. a TM backup over wifi.

31 packets transmitted, 31 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.436/2.961/7.590/1.134 ms

The connection looks very good, I can keep vpn and ssh connections open for days. It's just this latency variance that doesn't seem normal. I don't really have other clients to test with, just phones but those are all over the place with their power saving.
image

@fantom-x news on your problem ?

I think so. The memory test turned out to be very sensitive to any kind of load on the router. With WAN disconnected, wifi down, and all services stopped it gets over 780MB/s all the time. I traced my issue to dnsmasq of all things. I had it running with adblock and over 500K blacklisted domains: even with no load, dnsmasq would use 100% CPU for a few seconds every two or three seconds. The test was probably getting interrupted too frequently.
Here are the results without adblock.

./mbw 32 | grep AVG
AVG	Method: MEMCPY	Elapsed: 0.04241	MiB: 32.00000	Copy: 754.503 MiB/s
AVG	Method: DUMB	Elapsed: 0.18157	MiB: 32.00000	Copy: 176.242 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04290	MiB: 32.00000	Copy: 745.921 MiB/s
1 Like

Would be interesting to see with unbound-deamon only installation....

MacOS does periodic (and very frequent in my mind) WiFi scans for location purposes and the latency jumps to 300ms and more. I wish there was a way to disable those wifi scans.

@fantom-x if you want to test an improved version...

This should be the best we can do with the scaling... (I think i can't really optimize more)

2 Likes

Is there something different in 4.19 that the wireless interrupts cannot be moved from cpu0?

There must be and it is not platform specific: I have a spare ipq40xx and the ath10k IRQ's cannot be moved.

1 Like

Is it just the last commit?

UPDATE: it applies with warnings below

warning: squelched 6 whitespace errors
warning: 11 lines add whitespace errors.

Probably not much representative, because I am using the perf governor, WAN is disconnected, wifi and most services are down. Nothing weird in the logs, so I will put it on the live router shortly.

for i in 1 2 3 4 5 ; do ./tools/mbw 32 | grep AVG; done
AVG	Method: MEMCPY	Elapsed: 0.04188	MiB: 32.00000	Copy: 764.139 MiB/s
AVG	Method: DUMB	Elapsed: 0.18183	MiB: 32.00000	Copy: 175.984 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04207	MiB: 32.00000	Copy: 760.702 MiB/s
AVG	Method: MEMCPY	Elapsed: 0.04217	MiB: 32.00000	Copy: 758.808 MiB/s
AVG	Method: DUMB	Elapsed: 0.18349	MiB: 32.00000	Copy: 174.399 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04242	MiB: 32.00000	Copy: 754.304 MiB/s
AVG	Method: MEMCPY	Elapsed: 0.04202	MiB: 32.00000	Copy: 761.580 MiB/s
AVG	Method: DUMB	Elapsed: 0.18188	MiB: 32.00000	Copy: 175.942 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04220	MiB: 32.00000	Copy: 758.274 MiB/s
AVG	Method: MEMCPY	Elapsed: 0.04240	MiB: 32.00000	Copy: 754.778 MiB/s
AVG	Method: DUMB	Elapsed: 0.18360	MiB: 32.00000	Copy: 174.295 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04271	MiB: 32.00000	Copy: 749.279 MiB/s
AVG	Method: MEMCPY	Elapsed: 0.04208	MiB: 32.00000	Copy: 760.418 MiB/s
AVG	Method: DUMB	Elapsed: 0.18190	MiB: 32.00000	Copy: 175.924 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04224	MiB: 32.00000	Copy: 757.517 MiB/s
1 Like

It seems to be similar if not slighty slower with the on demand governor:

root@OpenWrt:~# cat /sys/devices/system/cpu/cpufreq/policy?/scaling_governor
ondemand
ondemand

before patch:
root@OpenWrt:~# /bin/mbw 32 | grep AVG
AVG Method: MEMCPY Elapsed: 0.04227 MiB: 32.00000 Copy: 757.060 MiB/s
AVG Method: DUMB Elapsed: 0.18305 MiB: 32.00000 Copy: 174.812 MiB/s
AVG Method: MCBLOCK Elapsed: 0.04234 MiB: 32.00000 Copy: 755.808 MiB/s

after:
root@OpenWrt:~# /bin/mbw 32 | grep AVG
AVG Method: MEMCPY Elapsed: 0.04266 MiB: 32.00000 Copy: 750.137 MiB/s
AVG Method: DUMB Elapsed: 0.18242 MiB: 32.00000 Copy: 175.420 MiB/s
AVG Method: MCBLOCK Elapsed: 0.04280 MiB: 32.00000 Copy: 747.692 MiB/s

(BTW: i've also included the dts patch)

FWIW, I am seeing approx 1/3 drop in CPU utilization during dslreport speed tests on my slow connection (50M/10M) with SQM (cake). I am not gonna bother running 19.07 any more.

@Ansuel thx for your work on this router.

just with this last patch? or with the tweaks that Ansual made in general?

With the snapshot

I'm thinking on moving all the patch to a dedicated driver.... I don't think add all that function to the cpufreq-dt driver is the right way.

Do you think you will revert back to 18.06 then??

I think he was talking about using snapshot instead of stable build

Ah I see, I'm using snapshot, it seems stable enough to me, and any bugs that creep up you guys beat within a few days anyway lol.

Mmmh... this is after 6 days with ondemand:

AVG Method: MEMCPY Elapsed: 0.04331 MiB: 32.00000 Copy: 738.858 MiB/s
AVG Method: DUMB Elapsed: 0.18806 MiB: 32.00000 Copy: 170.159 MiB/s
AVG Method: MCBLOCK Elapsed: 0.04363 MiB: 32.00000 Copy: 733.358 MiB/s

I'm curious to know why/if performance really makes these values drops....

It does not: the difference is meaningless and impacted by the background workload. You would have to disconnect WAN and all wired clients, stop wifi, and shutdown all unnecessary services to get a true reading, which was over 770MB/s I think.

1 Like