bge(4) one packet wedge
David Christensen
davidch at broadcom.com
Wed Sep 27 17:27:05 PDT 2006
> Finally I got a NIC that has a chip that does tagged status
> block - 5701.
>
> I've prepared a patch, that mimics Linux. If a chip can do status tag,
> then we write it to mailbox register at end of ISR, as you have
> described. If the chip can't, then we force coalescing once
> per second.
> This should fix the problem correctly on the chips that support
> status tag, and it is an ugly fix for chips that does not.
>
> Unfortunately, the attached patch doesn't fix the problem on 5701. The
> wedge occurs as before. And I see status tag updated, while
> the netperf
> test has wedged:
>
> (kgdb) p $sc->bge_last_tag
> $45 = 239
> (kgdb) p $sc->bge_last_tag
> $46 = 240
> (kgdb) p $sc->bge_last_tag
> $47 = 241
> (kgdb) p $sc->bge_last_tag
> $48 = 242
>
> I have no idea. :( May be you have one?
What's happening to the status block consumer/producer indices
at this time? Are they advancing? Do they match the driver maintained
consumer/producer indices? I forget if this was a send or receive
problem, is the packet sitting in the send or receive return ring?
Dave
More information about the freebsd-net
mailing list