R7800 performance

R7800 Scaling Issue

1 Like

root@r7800:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
performance
root@r7800:~# cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
performance
root@r7800:~# cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
1725000
root@r7800:~# cat /sys/devices/system/cpu/cpufreq/policy1/scaling_max_freq
1725000
root@r7800:~#

Iv been meaning to update my r7800 to hnyman 19.07 just havent gotten around to it yet. Will going from 18.06.04 to 19.07 help with any of these issues or will it be more or less the same with your mentioned tweaks?

Thanks again for all the help. I was thinking there for a minute that I needed a new router. :wink:

~SOL

I’d update to 19.07 and work on some of the tweaks above.

@fantom-x The scaling issue is interesting. I haven’t seen that behavior... but the only time I reboot is when I flash a newer version of firmware. I don’t have the level of detailed memory tests those folks have so my setup might have some degraded performance that I haven’t noticed.

I don’t keep my entries in a file on the router- I might be skipping the cache issue because I fresh enter all the commands in a SSH window after the router is back up (quick copy paste- I set up on demand first (in case I want to go back to on demand, then I flip it to performance)):


echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq; echo 800000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq; echo 20 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold; echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor; echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor; echo performance > /sys/devices/system/cpu/cpufreq/policy1/scaling_governor

1 Like

Anything special going from 18.06.04 to 19.07 other than using the sysupgrade build? Im really trying to avoid rebuilding all the misc settings,packages etc.. I will be making a backup just in case.

Thanks again!

~SOL

sysupgrade is the preferred method. Going between major versions the recommendation is to not keep your settings (freshly put them in).

I like hynman’s build, has a simple set of features and clean interface. I’m running the stable owrt 22 December build (hynman keeps the first post updated with all his features)

Download location:

is there a general recommendation to tune the wifi settings? i am currently using the additional parameters.

    option bursting 1
    option ff 1
    option compression 1
    option turbo 1

but i can't see any significant advantage.

Those are for an ancient driver, madwifi, which was relevant in 2006-2010, but not for the last decade...

2 Likes

Thanks for clarification!

Just a hint in case anyone is using R7800 for processing intensive application: placing router vertically lowers its temperature by around 5 degrees.

4 Likes

or even better may be flipping it upside down or put a laptop cooling pad under neath but that'd blow dust into it

I actually use a usb laptop cooling pad on my r7800

My R7800 is in a tight spot between floor joists so I use this laptop cooler. Perfect fit and works well.

Any suggestions how to get max performance and lowest (internal LAN) latency running in AP mode (no NAT, no WAN). I have already turned off all services that I don't need (firewall, adblocking, dns, dhcp, ...) I normally run hnyman's builds, I use 4 SSIDs (2 on each radio) and 3 VLANs to isolate traffic (e.g. home, guest, work, iot networks)

I keep reading a lot of conflicting info about:

  • setting min CPU freq at 800MHz or L2 cache doesn't function correctly. IIRC there were similar issues in the Android world where you could not run a phone at lowest freq the Qcom CPUs supported or it would lock up.
  • ondemand vs performance governors and tweaks for them
  • IRQ pinning to specific CPU
  • eth0/1 rx/tx tweaks

I have two r7800s running as access points. All non essential services turned off, running latest hynman’s master build.

Bottom line, if your access points are hardwired, you are not going to notice a big difference with all the above tweaks. Wifi speeds don’t strain the CPU much. If you have multiple 5ghz devices simultaneously needing bandwidth, hardwired devices, or higher throughput requirements- doing some CPU tweaks will get you the most bang for buck.

-L2 cache issue was fixed by ansuel in master a month ago. :sunglasses:
-found no benefit to specifying IRQs or ethtool tweaking for an access point
-I’ve run more aggressive ondemand settings vs the performance governor with similar results on the access points. I’ve found getting the CPU to ramp up more quickly (or being on the performance governor) makes the r7800 perform better on testing, especially as you get up there on throughput. With ondemand, over 24 hours I average a 80/20 split on the lower frequency / max CPU frequency with these settings:
echo 35 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold; echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor

2 Likes

What are your measured performance numbers in throughput and latency before and after your reconfiguration? What's your target?

I haven't done any scientific measurements, just trying to see what choices we have and where to look. I tried some eth0/1 rx/tx-usecs tweaks and noticed the wired latency going down by about 0.150ms (from 0.350ms to 0.200ms when pinging the r7800 from a wired linux server). The interesting part is that it matters which direction I ping from, if I ping from r7800 to linux server I'm back to 0.350ms or higher. There are no firewalls involved on either device.

Is there a danger to run performance governor at max 1.7GHz always? The temperature increase seems very low by about 2C and the reported temps stay under 55C.

I wonder whether not adjusting the CPU freq constantly also may contribute to stability, I occasionally get random reboots/freezes with kernel 4.14, with 4.19 I only had 1 random reboot.

As for WiFi stability in general I'm in a tough spot, the "ct" firmware does not work for me with my clients, lots of problems with low power devices such as IoT or with discovery traffic, devices just can't find each other on the WLAN. Classic/old firmware works well but there's no recent master build that works with it, I have to get the "ct" build and just replace the firmware but I wonder how long the "ct" driver will continue to work with "old" firmware or whether there might be weird interactions.

I’ve run the performance governor for weeks with no issues. Adds a couple degrees Celsius, that’s all I’ve seen. Never seen anyone say their router had a shorter life because of the performance governor. DD-WRT by default runs in performance mode on the r7800 as an example.

With all of ansuel’s recent updates I don’t really notice a big difference between aggressive ondemand settings and performance governor.

Increasing the sampling down factor results in less changing (checking to turn the cpu frequency down).

I tried using packet steering with the value of 3 (both cores) and it seems to be working better than the defaults, but the CPU usage was very uneven in my env. FWIW, I decided to try a slightly different config (below) and it resulted in an almost even CPU usage under load and also lowered overall CPU utilization. I am curious if anyone is willing to give it a shot to make sure I am not seeing things.

  find /sys/devices/ -name xps_cpus | while read f; do echo 1 > $f; done
  find /sys/devices/ -name rps_cpus | while read f; do echo 2 > $f; done