I am beating the heck out of it on my 9.x testbed where I lifted it from. I don't have any ix or ixgbe cards to play with yet though..
R On Feb 4, 2013, at 1:11 PM, Jack Vogel wrote: > > > On Mon, Feb 4, 2013 at 9:22 AM, Randy Stewart <rand...@lakerest.net> wrote: > All: > > I have been working with TCP in gigabit networks (igb driver actually) and > have > found a very nasty problem with the way the driver is doing its put back when > it fills the out-bound transmit queue. > > Basically it has taken a packet from the head of the ring buffer, and then > realizes it can't fit it into the transmit queue. So it just re-enqueue's it > into the ring buffer. Whats wrong with that? Well most of the time there > are anywhere from 10-50 packets (maybe more) in that ring buffer when you are > operating at full speed (or trying to). This means you will see 10 duplicate > ACKs, do a fast retransmit and cut your cwnd in half.. not very nice actually. > > The patch I have attached makes it so that > > 1) There are ways to swap back. > 2) Use the peek in the ring buffer and only > dequeue the packet if we put it into the transmit ring > 3) If something goes wrong and the transmit frees the packet we dequeue it. > 4) If the transmit changed it (defrag etc) then swap out the new mbuf that > has taken its place. > > I have fixed the four intel drivers that had this systemic issue, but there > are still more to fix. > > Comments/review .. rotten egg's etc.. would be most welcome before > I commit this.. > > Jack are you out there? > > > Yes, I'm usually perceived as being 'out there' :) If you had addressed it > to 'jfv' rather than 'jv' it would have worked better. > > I have no theoretical objection to this, how much testing has it had? > > Jack > ----- Randall Stewart rand...@lakerest.net _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"