From owner-freebsd-net@FreeBSD.ORG Fri Mar 21 02:33:00 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 61627FEA for ; Fri, 21 Mar 2014 02:33:00 +0000 (UTC) Received: from mail-qg0-x231.google.com (mail-qg0-x231.google.com [IPv6:2607:f8b0:400d:c04::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 217D790F for ; Fri, 21 Mar 2014 02:33:00 +0000 (UTC) Received: by mail-qg0-f49.google.com with SMTP id z60so5272801qgd.8 for ; Thu, 20 Mar 2014 19:32:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Xm3kc1LMOQV5BrYxQ27Z8xGBNRYt/O4yHCNJrDV1Fq4=; b=GbWXKeKVj/7LH+JwT+axl5I5f6cFYYGbAFvUG1/s1Mw7ZeWO0SpKV6iOWe1dSvieZN hQ2amLEgjIdT5jqu35BIs7cLrR3rP8LqGLJR3yqukhmrNIYTttYl56uANnpih0AClyue 3/eXtifOg7o0t9W857muaUBn8R9ipNyrYky4GyaKDqw84aw3AO33PvDgUSASVcMv33G9 ewoIusFEiVHY2d+in6tdlkWHDFfPPuklMcjk3LbTRzFeF4/ir8EJkHjroSCzICXcY1JT hdGT2BsMsXD0JHziSaMuuRE64iP1nd+cYd+VgJOV+k2+lQ66wDugI+8ve5w57pZHc8Wd XPPA== MIME-Version: 1.0 X-Received: by 10.140.95.65 with SMTP id h59mr51900609qge.2.1395369179137; Thu, 20 Mar 2014 19:32:59 -0700 (PDT) Received: by 10.96.79.97 with HTTP; Thu, 20 Mar 2014 19:32:59 -0700 (PDT) In-Reply-To: <1543350122.637684.1395368002237.JavaMail.root@uoguelph.ca> References: <1543350122.637684.1395368002237.JavaMail.root@uoguelph.ca> Date: Thu, 20 Mar 2014 23:32:59 -0300 Message-ID: Subject: Re: 9.2 ixgbe tx queue hang From: Christopher Forgeron To: Rick Macklem Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: FreeBSD Net X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Mar 2014 02:33:00 -0000 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 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 > >