bge(4) one packet wedge

David Christensen davidch at
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?


More information about the freebsd-net mailing list