I put you a screenshot that will be more explicit than all explanations. The first part is in original firmware, the second part is in Openwrt. It's the same thing in snapshot and rc1.
What do you think?
Can you explain what the picture shows and what ist strange?
I think that if you’re chasing variations around 1ms in ping time you seem to have far too much free time in your hands.
It's the opposite when there is nobody on the network we have the maximum values in ping.
Your ping time of ~1 ms is already negligible. Any variation may be due to the clock-rate governor or load from other processes. “Jousting with windmills”, in my opinion.
I updated the topic in order to better reflect the real "problem".
There isn't a problem, that I can discern. Again, 1 ms ping time is "nothing". Typical RTT is in the 30-150 ms range1. You're looking at variations of fractions of a millisecond.
EA8300 in "stock" OpenWrt configuration
--- 192.168.1.1 ping statistics --- 100 packets transmitted, 100 received, 0% packet loss, time 334ms rtt min/avg/max/mdev = 0.590/1.615/2.135/0.193 ms
Change governor (which will result in higher power consumption, especially when not under full load)
root@OpenWrt:~# cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor ondemand root@OpenWrt:~# cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors ondemand performance root@OpenWrt:~# echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
100 packets transmitted, 100 received, 0% packet loss, time 454ms rtt min/avg/max/mdev = 0.258/0.337/0.388/0.048 ms
At US$0.38/kWh, I'm not willing to burn power [Edit: just] for a fraction of a millisecond of idle ping time.
1 See, for example, https://ipnetwork.bgtmo.ip.att.net/pws/network_delay.html (double latency to get RTT) or https://wondernetwork.com/pings
Also, for adding to the "solution": most OEM will set the clock to performance in order to reduce latency even when the network is quiet. OpenWrt uses the
ondemand governor (which I personally doubt it's a wise choice). What are you seeing is a small and variable delay when Linux checks your firewall rules.
May look at this for a real life example (from Linksys):