Subject: port-macppc/11529: gmac interface unstable under high load
To: None <gnats-bugs@gnats.netbsd.org>
From: None <root@ihack.net>
List: netbsd-bugs
Date: 11/20/2000 07:53:18
>Number:         11529
>Category:       port-macppc
>Synopsis:       gmac interface unstable under high load
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-macppc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Nov 20 07:53:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Charles M. Hannum
>Release:        -current as of 20001109
>Organization:
	Internetwork Hacker
>Environment:
System: NetBSD trinity.ihack.net 1.5H NetBSD 1.5H (TRINITY) #7: Fri Nov 10 23:15:53 UTC 2000 mycroft@ihack.net:/usr/src/sys/arch/macppc/compile/TRINITY macppc


>Description:
After flooding the gmac interface with packets for some time, one of the
transmit or receive queues becomes unstable and packets are reordered
and possibly delayed.  E.g.:

trinity# ping -nfi 0.0001 10.1.0.3
[wait a few minutes]
^C
trinity# ping -n 10.1.0.3
PING 10.1.0.3 (10.1.0.3): 56 data bytes
64 bytes from 10.1.0.3: icmp_seq=0 ttl=255 time=0.486 ms
64 bytes from 10.1.0.3: icmp_seq=1 ttl=255 time=0.479 ms
64 bytes from 10.1.0.3: icmp_seq=2 ttl=255 time=1.047 ms
64 bytes from 10.1.0.3: icmp_seq=3 ttl=255 time=0.503 ms
64 bytes from 10.1.0.3: icmp_seq=4 ttl=255 time=0.504 ms
64 bytes from 10.1.0.3: icmp_seq=5 ttl=255 time=0.543 ms
64 bytes from 10.1.0.3: icmp_seq=9 ttl=255 time=0.515 ms
64 bytes from 10.1.0.3: icmp_seq=10 ttl=255 time=1.044 ms
64 bytes from 10.1.0.3: icmp_seq=11 ttl=255 time=0.500 ms
64 bytes from 10.1.0.3: icmp_seq=12 ttl=255 time=0.490 ms
64 bytes from 10.1.0.3: icmp_seq=13 ttl=255 time=1.038 ms
64 bytes from 10.1.0.3: icmp_seq=14 ttl=255 time=0.515 ms
64 bytes from 10.1.0.3: icmp_seq=15 ttl=255 time=0.504 ms
64 bytes from 10.1.0.3: icmp_seq=16 ttl=255 time=0.565 ms
64 bytes from 10.1.0.3: icmp_seq=17 ttl=255 time=0.490 ms
64 bytes from 10.1.0.3: icmp_seq=18 ttl=255 time=0.567 ms
64 bytes from 10.1.0.3: icmp_seq=19 ttl=255 time=0.747 ms
64 bytes from 10.1.0.3: icmp_seq=20 ttl=255 time=0.502 ms
64 bytes from 10.1.0.3: icmp_seq=21 ttl=255 time=1.018 ms
64 bytes from 10.1.0.3: icmp_seq=22 ttl=255 time=0.505 ms
64 bytes from 10.1.0.3: icmp_seq=23 ttl=255 time=0.493 ms
64 bytes from 10.1.0.3: icmp_seq=24 ttl=255 time=0.508 ms
64 bytes from 10.1.0.3: icmp_seq=25 ttl=255 time=0.489 ms
64 bytes from 10.1.0.3: icmp_seq=26 ttl=255 time=0.498 ms
64 bytes from 10.1.0.3: icmp_seq=27 ttl=255 time=0.650 ms
64 bytes from 10.1.0.3: icmp_seq=28 ttl=255 time=0.504 ms
64 bytes from 10.1.0.3: icmp_seq=29 ttl=255 time=0.486 ms
64 bytes from 10.1.0.3: icmp_seq=30 ttl=255 time=0.506 ms
64 bytes from 10.1.0.3: icmp_seq=31 ttl=255 time=0.484 ms
64 bytes from 10.1.0.3: icmp_seq=32 ttl=255 time=0.518 ms
64 bytes from 10.1.0.3: icmp_seq=33 ttl=255 time=0.508 ms
64 bytes from 10.1.0.3: icmp_seq=34 ttl=255 time=0.541 ms
64 bytes from 10.1.0.3: icmp_seq=6 ttl=255 time=28001.828 ms
64 bytes from 10.1.0.3: icmp_seq=7 ttl=255 time=27001.904 ms
64 bytes from 10.1.0.3: icmp_seq=8 ttl=255 time=26001.938 ms
64 bytes from 10.1.0.3: icmp_seq=37 ttl=255 time=0.497 ms
64 bytes from 10.1.0.3: icmp_seq=38 ttl=255 time=0.493 ms
64 bytes from 10.1.0.3: icmp_seq=39 ttl=255 time=0.519 ms
64 bytes from 10.1.0.3: icmp_seq=40 ttl=255 time=0.597 ms
64 bytes from 10.1.0.3: icmp_seq=41 ttl=255 time=1.060 ms
64 bytes from 10.1.0.3: icmp_seq=42 ttl=255 time=0.492 ms
64 bytes from 10.1.0.3: icmp_seq=43 ttl=255 time=0.500 ms
64 bytes from 10.1.0.3: icmp_seq=44 ttl=255 time=0.507 ms
64 bytes from 10.1.0.3: icmp_seq=45 ttl=255 time=0.477 ms
64 bytes from 10.1.0.3: icmp_seq=46 ttl=255 time=0.502 ms
64 bytes from 10.1.0.3: icmp_seq=47 ttl=255 time=0.557 ms
64 bytes from 10.1.0.3: icmp_seq=48 ttl=255 time=0.491 ms
64 bytes from 10.1.0.3: icmp_seq=49 ttl=255 time=0.631 ms
64 bytes from 10.1.0.3: icmp_seq=50 ttl=255 time=0.634 ms
64 bytes from 10.1.0.3: icmp_seq=51 ttl=255 time=0.491 ms
64 bytes from 10.1.0.3: icmp_seq=52 ttl=255 time=0.488 ms
64 bytes from 10.1.0.3: icmp_seq=53 ttl=255 time=0.524 ms
64 bytes from 10.1.0.3: icmp_seq=54 ttl=255 time=0.493 ms
64 bytes from 10.1.0.3: icmp_seq=55 ttl=255 time=0.558 ms
64 bytes from 10.1.0.3: icmp_seq=56 ttl=255 time=0.492 ms
64 bytes from 10.1.0.3: icmp_seq=57 ttl=255 time=0.512 ms
64 bytes from 10.1.0.3: icmp_seq=58 ttl=255 time=0.507 ms
64 bytes from 10.1.0.3: icmp_seq=59 ttl=255 time=0.492 ms
64 bytes from 10.1.0.3: icmp_seq=60 ttl=255 time=0.596 ms
64 bytes from 10.1.0.3: icmp_seq=35 ttl=255 time=25001.837 ms
64 bytes from 10.1.0.3: icmp_seq=36 ttl=255 time=24001.920 ms
64 bytes from 10.1.0.3: icmp_seq=64 ttl=255 time=0.497 ms
64 bytes from 10.1.0.3: icmp_seq=65 ttl=255 time=0.510 ms
64 bytes from 10.1.0.3: icmp_seq=66 ttl=255 time=0.512 ms
64 bytes from 10.1.0.3: icmp_seq=67 ttl=255 time=1.014 ms
64 bytes from 10.1.0.3: icmp_seq=68 ttl=255 time=1.002 ms
64 bytes from 10.1.0.3: icmp_seq=69 ttl=255 time=0.505 ms
64 bytes from 10.1.0.3: icmp_seq=70 ttl=255 time=0.603 ms
64 bytes from 10.1.0.3: icmp_seq=71 ttl=255 time=0.498 ms
64 bytes from 10.1.0.3: icmp_seq=72 ttl=255 time=0.505 ms
64 bytes from 10.1.0.3: icmp_seq=73 ttl=255 time=0.513 ms
64 bytes from 10.1.0.3: icmp_seq=74 ttl=255 time=1.010 ms
64 bytes from 10.1.0.3: icmp_seq=75 ttl=255 time=0.507 ms
64 bytes from 10.1.0.3: icmp_seq=76 ttl=255 time=0.491 ms
64 bytes from 10.1.0.3: icmp_seq=77 ttl=255 time=1.024 ms
64 bytes from 10.1.0.3: icmp_seq=78 ttl=255 time=0.576 ms
64 bytes from 10.1.0.3: icmp_seq=79 ttl=255 time=0.514 ms
64 bytes from 10.1.0.3: icmp_seq=80 ttl=255 time=0.494 ms
64 bytes from 10.1.0.3: icmp_seq=81 ttl=255 time=0.520 ms
64 bytes from 10.1.0.3: icmp_seq=82 ttl=255 time=0.514 ms
64 bytes from 10.1.0.3: icmp_seq=83 ttl=255 time=0.508 ms
64 bytes from 10.1.0.3: icmp_seq=84 ttl=255 time=0.487 ms
64 bytes from 10.1.0.3: icmp_seq=85 ttl=255 time=0.499 ms
64 bytes from 10.1.0.3: icmp_seq=86 ttl=255 time=0.517 ms
64 bytes from 10.1.0.3: icmp_seq=87 ttl=255 time=1.039 ms
64 bytes from 10.1.0.3: icmp_seq=61 ttl=255 time=26002.268 ms
64 bytes from 10.1.0.3: icmp_seq=62 ttl=255 time=25002.358 ms
64 bytes from 10.1.0.3: icmp_seq=63 ttl=255 time=24002.386 ms
64 bytes from 10.1.0.3: icmp_seq=90 ttl=255 time=0.520 ms
...


The problem can also be reproduced by running `nmap'.  Doing an
`ifconfig down'/`ifconfig up' on the interface alleviates the symptom
temporarily.

>How-To-Repeat:
See above.

>Fix:
None provided.
>Release-Note:
>Audit-Trail:
>Unformatted: