RPi4 7i96 Improving Ping times

More
30 Apr 2021 20:33 #207483 by Limedodge
I have a RPi4 (4Gb) 64bit 7i96
Linux raspberrypi 5.10.25-rt35-v8 #1 SMP PREEMPT_RT Sat Apr 3 09:45:47 CEST 2021 aarch64 GNU/Linux

static ip set up

My ping times are dismal. No packets loses but slow.
64 bytes from 10.10.10.10: icmp_seq=23 ttl=64 time=0.331 ms
64 bytes from 10.10.10.10: icmp_seq=24 ttl=64 time=0.325 ms
64 bytes from 10.10.10.10: icmp_seq=25 ttl=64 time=0.327 ms
64 bytes from 10.10.10.10: icmp_seq=26 ttl=64 time=0.305 ms
64 bytes from 10.10.10.10: icmp_seq=27 ttl=64 time=0.275 ms
64 bytes from 10.10.10.10: icmp_seq=28 ttl=64 time=0.323 ms
64 bytes from 10.10.10.10: icmp_seq=29 ttl=64 time=0.318 ms
64 bytes from 10.10.10.10: icmp_seq=30 ttl=64 time=0.331 ms
64 bytes from 10.10.10.10: icmp_seq=31 ttl=64 time=0.320 ms
64 bytes from 10.10.10.10: icmp_seq=32 ttl=64 time=0.312 ms
64 bytes from 10.10.10.10: icmp_seq=33 ttl=64 time=0.318 ms
64 bytes from 10.10.10.10: icmp_seq=34 ttl=64 time=0.286 ms
64 bytes from 10.10.10.10: icmp_seq=35 ttl=64 time=0.309 ms

I can't seem to get them any better. I've tried
- 4 different cat 7 cables
- setting static eth0 IP address
- diasble/enable Wlan
- diasble/enable bluetooth
- updating all software
- interfaces coalesce setting (didn't do anything)
- forcing lower speed (100mb/s)
- tried a second Rpi4 (swapped out SD card)

Nothing seems to make it any better. I did notice one curious thing. I tried removing the USB dongle for my wireless keyboard/mouse think it was messing with it. When I do that, I get temporary reduction for a few seconds, then back to ~300ms. When I plug it back in, I get the same temporary reduction. I have no idea why that's happening or if it indicates something is amiss
4 bytes from 10.10.10.10: icmp_seq=31 ttl=64 time=0.320 ms
64 bytes from 10.10.10.10: icmp_seq=32 ttl=64 time=0.312 ms
64 bytes from 10.10.10.10: icmp_seq=33 ttl=64 time=0.318 ms
64 bytes from 10.10.10.10: icmp_seq=34 ttl=64 time=0.286 ms
64 bytes from 10.10.10.10: icmp_seq=35 ttl=64 time=0.309 ms
64 bytes from 10.10.10.10: icmp_seq=36 ttl=64 time=0.317 ms
64 bytes from 10.10.10.10: icmp_seq=37 ttl=64 time=0.313 ms
64 bytes from 10.10.10.10: icmp_seq=38 ttl=64 time=0.148 ms
64 bytes from 10.10.10.10: icmp_seq=39 ttl=64 time=0.144 ms
64 bytes from 10.10.10.10: icmp_seq=40 ttl=64 time=0.151 ms
64 bytes from 10.10.10.10: icmp_seq=41 ttl=64 time=0.149 ms
64 bytes from 10.10.10.10: icmp_seq=42 ttl=64 time=0.155 ms
64 bytes from 10.10.10.10: icmp_seq=43 ttl=64 time=0.313 ms
64 bytes from 10.10.10.10: icmp_seq=44 ttl=64 time=0.319 ms
64 bytes from 10.10.10.10: icmp_seq=45 ttl=64 time=0.361 ms
64 bytes from 10.10.10.10: icmp_seq=46 ttl=64 time=0.283 ms
64 bytes from 10.10.10.10: icmp_seq=47 ttl=64 time=0.311 ms
64 bytes from 10.10.10.10: icmp_seq=48 ttl=64 time=0.327 ms
64 bytes from 10.10.10.10: icmp_seq=49 ttl=64 time=0.323 ms
64 bytes from 10.10.10.10: icmp_seq=50 ttl=64 time=0.315 ms
64 bytes from 10.10.10.10: icmp_seq=51 ttl=64 time=0.311 ms
64 bytes from 10.10.10.10: icmp_seq=52 ttl=64 time=0.159 ms
64 bytes from 10.10.10.10: icmp_seq=53 ttl=64 time=0.152 ms
64 bytes from 10.10.10.10: icmp_seq=54 ttl=64 time=0.154 ms
64 bytes from 10.10.10.10: icmp_seq=55 ttl=64 time=0.147 ms
64 bytes from 10.10.10.10: icmp_seq=56 ttl=64 time=0.141 ms
64 bytes from 10.10.10.10: icmp_seq=57 ttl=64 time=0.320 ms
64 bytes from 10.10.10.10: icmp_seq=58 ttl=64 time=0.322 ms
64 bytes from 10.10.10.10: icmp_seq=59 ttl=64 time=0.320 ms

Does anyone have any ideas? My read.tmax's are fairly high 950,000 after 12 hours at a servo thread rate of 1,000,000. Anything I can do to clean up the ethernet side will let me increase that servo thread (or at least let me keep it where it is without the dreaded "error finishing read")

Please Log in or Create an account to join the conversation.

More
30 Apr 2021 21:26 - 30 Apr 2021 23:09 #207489 by PCW
Replied by PCW on topic RPi4 7i96 Improving Ping times
Different OS/turbo or isolcpus settings maybe
This is what I get:

( Note that the first ping is longer because the host does a
"ARP who-has 10.10.10.10" request before the first ping)
pi@raspberrypi:~ $ ping 10.10.10.10
PING 10.10.10.10 (10.10.10.10) 56(84) bytes of data.
64 bytes from 10.10.10.10: icmp_seq=1 ttl=64 time=0.194 ms
64 bytes from 10.10.10.10: icmp_seq=2 ttl=64 time=0.096 ms
64 bytes from 10.10.10.10: icmp_seq=3 ttl=64 time=0.097 ms
64 bytes from 10.10.10.10: icmp_seq=4 ttl=64 time=0.094 ms
64 bytes from 10.10.10.10: icmp_seq=5 ttl=64 time=0.097 ms
64 bytes from 10.10.10.10: icmp_seq=6 ttl=64 time=0.098 ms
64 bytes from 10.10.10.10: icmp_seq=7 ttl=64 time=0.101 ms
64 bytes from 10.10.10.10: icmp_seq=8 ttl=64 time=0.095 ms
64 bytes from 10.10.10.10: icmp_seq=9 ttl=64 time=0.098 ms
64 bytes from 10.10.10.10: icmp_seq=10 ttl=64 time=0.096 ms
64 bytes from 10.10.10.10: icmp_seq=11 ttl=64 time=0.099 ms
64 bytes from 10.10.10.10: icmp_seq=12 ttl=64 time=0.097 ms
64 bytes from 10.10.10.10: icmp_seq=13 ttl=64 time=0.103 ms
64 bytes from 10.10.10.10: icmp_seq=14 ttl=64 time=0.098 ms
64 bytes from 10.10.10.10: icmp_seq=15 ttl=64 time=0.097 ms
64 bytes from 10.10.10.10: icmp_seq=16 ttl=64 time=0.097 ms
64 bytes from 10.10.10.10: icmp_seq=17 ttl=64 time=0.093 ms
64 bytes from 10.10.10.10: icmp_seq=18 ttl=64 time=0.097 ms
64 bytes from 10.10.10.10: icmp_seq=19 ttl=64 time=0.098 ms
64 bytes from 10.10.10.10: icmp_seq=20 ttl=64 time=0.097 ms
^C
--- 10.10.10.10 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 776ms
rtt min/avg/max/mdev = 0.093/0.102/0.194/0.021 ms
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.19.71-rt24-v7l+ #1 SMP PREEMPT RT Thu Jan 23 16:59:28 PST 2020 armv7l GNU/Linux

Here's a latency plot of the same RPI4:


Attachments:
Last edit: 30 Apr 2021 23:09 by PCW.

Please Log in or Create an account to join the conversation.

More
30 Apr 2021 23:18 - 30 Apr 2021 23:33 #207508 by Limedodge
I tried different CPU combinations
isolcpus=1,2,3
isolcpus=2,3
isolcpus=3
with/without idle=poll
with/without processor_max_cstate=1

No dice

I did notice that turning Bluetooth on and off does the same thing as unplugging the USB. There a few second "spike" of lower ping times

For reference, I'm using the SD image was from
forum.linuxcnc.org/9-installing-linuxcnc...xcnc?start=40#204950
Last edit: 30 Apr 2021 23:33 by Limedodge.

Please Log in or Create an account to join the conversation.

More
30 Apr 2021 23:35 #207510 by PCW
Replied by PCW on topic RPi4 7i96 Improving Ping times
Do you have "force_turbo=1" in your config.txt file?

Please Log in or Create an account to join the conversation.

More
01 May 2021 00:43 #207511 by Limedodge
No force=turbo=1. I'm worried that might overheat the board. It's only got a heat sink and a stock fan

I'm going to try a different image to see if that makes a difference

Linux raspberrypi 5.4.61-rt37-v8 with PREEMPT_RT

Downloaded from the same link i shared before

Please Log in or Create an account to join the conversation.

More
01 May 2021 01:50 #207514 by PCW
Replied by PCW on topic RPi4 7i96 Improving Ping times
I have force_turbo=1 with a small stick-on heatsink, no fan
and its been running 24/7 for about a year

Please Log in or Create an account to join the conversation.

More
25 Sep 2021 08:10 #221534 by Markyd
I've been looking at this on my rpi4 and whilst i have ping times that are generally around 0.105 every now and again they spike up to 0.150 or 0.190. Is this likely to be contributing to the following errors I'm suffering?

Setup is RPI4, 7i96, 7i85 and 7i73 running 4 steppers. I have force_turbo =1 and ARM_FREQ = 1800 (the setting for the pi400 setting). I have one of the full heatsink cases and a 40mm fan on top of that to keep the temp v.low. Servo thread Jitter is around 75000.

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.211 seconds
Powered by Kunena Forum