I noticed the bogus XON, XOFF numbers. I'm glad to see it will be fixed so I can cross it off my todo list. :) I don't think the issue is related though, but you never know.
Barney pointed out that missed_rx in the ixgbe_update_stats_counters function accumulates the missed packet registers into the missed_rx field. At the end of the function, these are summed into ifp->if_ierrors which should be reported under Ierrs by netstat -idh. However that count is zero as reported via netstat. The stats printfs activated via sysctl dev.ix.#.stats=1 prints stats.mpc[0]. This number is large (around 400k on the machine I've been using to find the problem). If you look at the code, missed_rx and mpc[i] are updated with the same variables. Given that missed_rx is unsigned, I don't understand how the number fails to make it into ifp->if_ierrors, but I have yet to dive into debugging this seriously. Initially, I thought the fix was simple since I didn't see the missed_rx getting added to ierrors. But now, I am not sure where the problem is. Hopefully, it will be more obvious to you than it is to me. I'm sure it is something simple that I am missing. Manish On Thu, Aug 20, 2009 at 11:08 AM, Jack Vogel<[email protected]> wrote: > I've been looking at the code due to another problem of bogus flow control > numbers, and there are some changes needed, things that should be 82599 vs > 82598 and were not seperated properly. Will be forthcoming. Not sure if it > has any relevance to this, but its possible. > > Jack > > > On Thu, Aug 20, 2009 at 9:53 AM, Manish Vachharajani > <[email protected]> wrote: >> >> Oh whoops, sorry didn't see that. So the plot thickens. Why don't >> these errors show up in the netstat output I forwarded originally? >> Ierrs was 0 but the dmesg output clearly shows missed packets. Any >> thoughts on what is going on? Looking at the code, missed_rx should >> certainly get counted in the ierrors field as you said. >> >> Is the Ierrs in the netstat output some other counter? If so, how do >> I get the if_ierrors variable from the command line? >> >> Manish >> >> On Thu, Aug 20, 2009 at 6:49 AM, Barney Cordoba<[email protected]> >> wrote: >> > >> > >> > --- On Wed, 8/19/09, Manish Vachharajani <[email protected]> >> > wrote: >> > >> >> From: Manish Vachharajani <[email protected]> >> >> Subject: Re: Dropped vs. missed packets in the ixgbe driver >> >> To: "Barney Cordoba" <[email protected]> >> >> Cc: [email protected] >> >> Date: Wednesday, August 19, 2009, 2:46 PM >> >> Agreed, the errors are reported but >> >> missed packets are not. The >> >> question is, is the correct fix to just add stats.mpc[0] to >> >> if_ierrors >> >> in that line or to add it to if_iqdrops. The fix is >> >> easy once we >> >> agree on what the correct behavior is. >> >> >> >> Manish >> >> >> >> > Barney wrote: >> >> > >> >> > if you look in ixgbe_update_stats_counters at the >> >> bottom: >> >> > >> >> > ifp->if_ierrors = missed_rx + >> >> adapter->stats.crcerrs + >> >> > adapter->stats.rlec; >> >> > >> >> > the errors are added in. >> >> > >> >> > BC >> > >> > Huh? missed_rx are the missed packets. So they are counted. >> > >> > BC >> > >> > >> > >> > >> > >> >> >> >> -- >> Manish Vachharajani >> _______________________________________________ >> [email protected] mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "[email protected]" > > -- Manish Vachharajani _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[email protected]"
