Skip to main content.

2005-Jul-05

I pinged a variety of servers on different networks and the round-trip times are at least twice as slow on the router itself. It seems like the ping times on the workstation should be slightly slower. For example:
#  time /sbin/ping -c 5 www.washington.edu
PING www.washington.edu (140.142.3.7): 56 data bytes
64 bytes from 140.142.3.7: icmp_seq=0 ttl=57 time=95.812 ms
64 bytes from 140.142.3.7: icmp_seq=1 ttl=57 time=102.938 ms
64 bytes from 140.142.3.7: icmp_seq=2 ttl=57 time=84.297 ms
64 bytes from 140.142.3.7: icmp_seq=3 ttl=57 time=69.290 ms
64 bytes from 140.142.3.7: icmp_seq=4 ttl=57 time=111.203 ms

----www.washington.edu PING Statistics----
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 69.290/92.708/111.203/16.397 ms
10.70s real     0.06s user     3.35s system

I was told that it looks like the system clock is not behaving properly. From dmesg output, this system should have a CPU cycle counter. Maybe it's one of these CPU with a broken TSC. If so, running a 'while (1);' loop (or anything else that will keep the CPU 100% busy) may help.

So I do a while loop in one shell and the ping in another console and now it behaves correctly.

I think I need to rebuild a kernel with

options NO_TSC_TIME
(And a fix was recently committed to -current and netbsd-3 also for sys/arch/i386/i386/identcpu.c and sys/arch/i386/i386/cpu.c. I will have to try.)