From owner-svn-src-all@FreeBSD.ORG Thu Sep 18 19:20:00 2014 Return-Path: Delivered-To: svn-src-all@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 F2996654; Thu, 18 Sep 2014 19:19:59 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebius.int.ru", Issuer "cell.glebius.int.ru" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 5A4EB7DD; Thu, 18 Sep 2014 19:19:58 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.9/8.14.9) with ESMTP id s8IJJu16002574 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 18 Sep 2014 23:19:56 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.9/8.14.9/Submit) id s8IJJunu002573; Thu, 18 Sep 2014 23:19:56 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Thu, 18 Sep 2014 23:19:56 +0400 From: Gleb Smirnoff To: Adrian Chadd Subject: Re: svn commit: r271782 - in head/sys/dev: bge bxe e1000 fxp nfe Message-ID: <20140918191956.GC884@FreeBSD.org> References: <201409181556.s8IFuEK1013392@svn.freebsd.org> <20140918191119.GA884@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Sep 2014 19:20:00 -0000 On Thu, Sep 18, 2014 at 12:18:24PM -0700, Adrian Chadd wrote: A> On 18 September 2014 12:11, Gleb Smirnoff wrote: A> > On Thu, Sep 18, 2014 at 03:56:14PM +0000, Gleb Smirnoff wrote: A> > T> Author: glebius A> > T> Date: Thu Sep 18 15:56:14 2014 A> > T> New Revision: 271782 A> > T> URL: http://svnweb.freebsd.org/changeset/base/271782 A> > T> A> > T> Log: A> > T> - Use if_inc_counter() to increment various counters. A> > T> - Do not ever set a counter to a value. For those counters A> > T> that we don't increment, but return directly from hardware A> > T> create cases in if_get_counter() method. A> > A> > Note that this patch was done mechanically. However, with new API A> > all statistics handling in all drivers can be improved. It is no A> > longer required to poll hardware counters and write down their A> > values into ifnet. Hardware counters now can (and should!) be read A> > on demand at the time when either sysctl(2) or network stack A> > asks for a counter. A> > A> > Of course such change to drivers can't be committed without A> > testing on hardware, that's why I decided to be conservative. A> > A> > I'll convert several drivers as an example soon. A> A> Something that recently popped up at home with my RSS testing is that A> the hardware counters may actually reflect the packets that the MAC A> has seen, rather than the packets the driver side has actually seen. A> A> It looks like with flow control disabled, the counters used for A> ixgbe(4) reflect the per-queue and global MAC RX counters, before a A> saturated receive thread drops some frames. Before, the interface A> counters reflected what the driver managed to see, not necessarily A> what was received by the NIC. A> A> What should we do about that? Of course we should report that as ierrors, being silent on them is a disaster for a sysadmin. -- Totus tuus, Glebius.