Latency spikes with OpenWrt 19.07.4 on Netgear R7800

Hello

So Background:
I bought a Netgear R7800 router and installed OpenWrt on it: (https://openwrt.org/toh/netgear/r7800)

I first installed and configured the factory img and then used the sysupgrade to install the bin upgrade file.

Afterwards I did the steps here: (https://www.reddit.com/r/openwrt/comments/c7ell8/recently_switched_from_wrt1200ac_to_r7800_is/)

Standard image for the R7800 is just fine. The important thing to note is that OpenWrt supports CPU scaling with this router, which is great, but the ondemand CPU governor has bad default settings. This results in suboptimal CPU scaling and reduced throughput, especially for WiFi.

    Add the following tweaks to the ondemand CPU governor so that it ramps up frequency faster and stays at the higher frequency for longer. You can add these two commands into /etc/rc.local in Startup settings.
    echo 35 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
    echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor

    If you're not using QoS or SQM, enable SW flow offloading in Firewall settings. This will further increase your throughput if you have a gigabit connection.

    If you have a gigabit connection, it could be worthwhile to look into balancing out your IRQs. By default all IRQs are handled by the first CPU core and that could turn into a bottleneck in situations where you are pushing a lot of bits through your WAN connection AND your WiFi. There's an irqbalance software package you can install and launch at every startup by putting the command into your /etc/rc.local. Other people have suggested that instead of using irqbalance, you can manually assign CPU affinities as well. They usually recommend setting eth0 and eth1 to the second CPU core.

so my rc.local starts up irqbalance and sets the up_threshold and the sampling_down_factor to 35 and 10 respectively. I also turn on the SW flow offloading.

I however still experience latency spikes where the packet time goes from 1 ms to 1000ms roughly every 50ms. It looks like something is failing at regular checks, but I simply have no idea how to proceed at this point and would appreciate advice.

Does anyone see what might be the issue?

All the best
R