Date: Wed, 26 Mar 2014 20:31:43 -0400 (EDT) From: Rick Macklem <rmacklem@uoguelph.ca> To: Christopher Forgeron <csforgeron@gmail.com> Cc: FreeBSD Net <freebsd-net@freebsd.org>, Garrett Wollman <wollman@freebsd.org>, Jack Vogel <jfvogel@gmail.com>, Markus Gebert <markus.gebert@hostpoint.ch> Subject: Re: 9.2 ixgbe tx queue hang Message-ID: <1353469098.1239101.1395880303531.JavaMail.root@uoguelph.ca> In-Reply-To: <CAB2_NwA-zLnJh7Teqx4eQ-Tkc8bjx2qL0JMZeZqvSzJZ4mx4cg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Christopher Forgeron wrote: > > > > > > On Tue, Mar 25, 2014 at 8:21 PM, Markus Gebert < > markus.gebert@hostpoint.ch > wrote: > > > > > > Is 65517 correct? With Ricks patch, I get this: > > dev.ix.0.hw_tsomax: 65518 > > > > Perhaps a difference between 9.2 and 10 for one of the macros? My > code is: > > ifp->if_hw_tsomax = IP_MAXPACKET - (ETHER_HDR_LEN + > ETHER_VLAN_ENCAP_LEN); > printf("CSF - 3 Init, ifp->if_hw_tsomax = %d\n", ifp->if_hw_tsomax); > The difference is simply that IP_MAXPACKET == 65535, but I've been using 32 * MCLBYTES == 65536 (the latter is the amount of data m_defrag() can squeeze into 32 mbuf clusters). ie. I've suggested: ifp->if_hw_tsomax = min(32 * MCLBYTES - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN), IP_MAXPACKET); - I put the min() in just so it wouldn't break if MCLBYTES is increased someday. rick > > (BTW, you should submit the hw_tsomax sysctl patch, that's useful to > others) > > > > > > Also the dtrace command you used excludes 65518... > > > > Oh, I thought it was giving every packet that is greater than or > equal to 65518 - Could you show me the proper command? That's the > third time I've used dtrace, so I'm making this up as I go. :-) >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1353469098.1239101.1395880303531.JavaMail.root>