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.)