RE: igc problems with heavy traffic

From: Pieper, Jeffrey E <jeffrey.e.pieper_at_intel.com>
Date: Wed, 10 Aug 2022 17:47:23 UTC

> -----Original Message-----
> From: owner-freebsd-stable@freebsd.org <owner-freebsd-stable@freebsd.org>
> On Behalf Of Jim King
> Sent: Saturday, August 6, 2022 12:04 PM
> To: mike tancsa <mike@sentex.net>; stable@freebsd.org;
> kbowling@FreeBSD.org
> Subject: Re: igc problems with heavy traffic
> 
> On 8/5/2022 12:47 PM, mike tancsa wrote:
> > On 8/5/2022 11:41 AM, Jim King wrote:
> >> If I fiddle with the Flow Control settings it seems to make a
> >> difference.  I can do it without bouncing the link.  I wonder what
> >> the Linux driver has as default ?
> >>>
> >>> ie.
> >>>
> >>> sysctl -w dev.igc.1.fc=1
> >>> sysctl -w dev.igc.0.fc=1
> >>>
> >>> Does it help in your case ?
> >>>
> >> Thanks for the suggestion.  Unfortunately it doesn't seem to help in
> >> my case.  All four values for flow control give pretty much the same
> >> results with my iperf test.
> >>
> >>
> > Are you able to boot a RELENG_13 stable kernel and test ? I am using a
> > stable kernel from a couple of days ago and setting the fc=0 (you set
> > that on all nics right ?) does work for me both at 2.5G and 1G.
> > Leaving the default causes the nic to bounce on my test boxes. I dont
> > see any obvious big changes in the driver itself since 13.1 came out
> > so I am guessing something else fixed or worked around this bug ?
> >
> I build stable/13 from yesterday and still haven't found a working
> configuration.  When I turn off Flow Control on both NICs my first iperf test
> always causes the NIC to bounce, and sometimes subsequent tests will work OK,
> but only sometimes.  Most of the time the subsequent iperf runs also cause the
> NIC to bounce.
> 
> I also tried -rxcsum and -txcsum on the NIC, which had no effect.
> 
> 
> > Anything interesting come up in
> >
> > sysctl -a dev.igc
> >
> > ?
> >
> Nothing that catches my eye, but I don't have much experience with this kind of
> troubleshooting.
> 
> Jim
> 
> 
You could try disabling EEE (Energy Efficient Ethernet). Something like: sysctl dev.igc.0.eee_control=0.

Jeff