RE: bge(4) one packet wedge
- From: "David Christensen" <davidch@xxxxxxxxxxxx>
- Date: Wed, 27 Sep 2006 17:26:35 -0700
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
_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"
- References:
- Re: bge(4) one packet wedge
- From: Gleb Smirnoff
- Re: bge(4) one packet wedge
- Prev by Date: Re: kern/95665: [if_tun] "ping: sendto: No buffer space available" with TUN interface (easily reproducable with test program)
- Next by Date: Does mpd (multi-link PPP daemon) support IPv6?
- Previous by thread: Re: bge(4) one packet wedge
- Next by thread: Re: kern/95665: [if_tun] "ping: sendto: No buffer space available" with TUN interface (easily reproducable with test program)
- Index(es):
Relevant Pages
|
|