Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Mar 2014 23:32:59 -0300
From:      Christopher Forgeron <csforgeron@gmail.com>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: 9.2 ixgbe tx queue hang
Message-ID:  <CAB2_NwCGsAHdMFPoST05azb9K_O-K_khk3Bi1sF2om3puCcyCw@mail.gmail.com>
In-Reply-To: <1543350122.637684.1395368002237.JavaMail.root@uoguelph.ca>
References:  <CAB2_NwB=21H5pcx=Wzz5gV38eRN%2BtfwhY28m2FZhdEi6X3JE7g@mail.gmail.com> <1543350122.637684.1395368002237.JavaMail.root@uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
Yes, there is something broken in TSO for sure, as disabling it allows me
to run without error. It is possible that the drop in performance is
allowing me to stay under a critical threshold for the problem, but I'd
feel happier testing to make sure.

I understand what you're asking for in the patch, I'll make the edits
tomorrow and recompile a test kernel and see.

Right now I'm running tests on the ixgbe that Jack sent. Even if his patch
fixes the issue, I wonder if something else isn't broken in TSO, as the
ixgbe code has had these lines for a long time, and it's only on this 10.0
build that I have issues.

I'll be following up tomorrow with info on either outcome.

Thanks for your help.. your rusty networking is still better than mine. :-)


On Thu, Mar 20, 2014 at 11:13 PM, Rick Macklem <rmacklem@uoguelph.ca> wrote:

> Christopher Forgeron wrote:
> >
> > Output from the patch you gave me (I have screens of it.. let me know
> > what you're hoping to see.
> >
> >
> > Mar 20 16:37:22 SAN0 kernel: after mbcnt=33 pklen=65538 actl=65538
> > Mar 20 16:37:22 SAN0 kernel: before pklen=65538 actl=65538
> Hmm. I think this means that the loop that generates TSO segments in
> tcp_output() is broken, since I'm pretty sure that the maximum size
> should be is IP_MAXPACKET (65535).
>
> Either that or some non-TCP socket is trying to send a packet that
> exceeds IP_MAXPACKET for some reason.
>
> Would it be possible to add a printf() for m->m_pkthdr.csum_flags
> to the before case, in the "if" that generates the before printf?
> I didn't think to put this in, but CSUM_TSO will be set if it
> is a TSO segment, I think? My networking is very rusty.
> (If how to add this isn't obvious, just email and I'll update
>  the patch.)
>
> Thanks for doing this, rick
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAB2_NwCGsAHdMFPoST05azb9K_O-K_khk3Bi1sF2om3puCcyCw>