From owner-svn-src-all@FreeBSD.ORG Wed Jun 26 09:15:31 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AF0696DA; Wed, 26 Jun 2013 09:15:31 +0000 (UTC) (envelope-from marck@rinet.ru) Received: from woozle.rinet.ru (woozle.rinet.ru [195.54.192.68]) by mx1.freebsd.org (Postfix) with ESMTP id 2D9361911; Wed, 26 Jun 2013 09:15:30 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by woozle.rinet.ru (8.14.5/8.14.5) with ESMTP id r5Q9CBG2051508; Wed, 26 Jun 2013 13:12:11 +0400 (MSK) (envelope-from marck@rinet.ru) Date: Wed, 26 Jun 2013 13:12:11 +0400 (MSK) From: Dmitry Morozovsky To: Konstantin Belousov Subject: Re: svn commit: r252032 - head/sys/amd64/include In-Reply-To: <20130625205826.GM91021@kib.kiev.ua> Message-ID: References: <20130621135427.GA1214@FreeBSD.org> <20130622110352.J2033@besplex.bde.org> <20130622124832.S2347@besplex.bde.org> <20130622174921.I3112@besplex.bde.org> <20130623073343.GY91021@kib.kiev.ua> <20130623181458.J2256@besplex.bde.org> <20130624170849.GH91021@kib.kiev.ua> <20130625102023.K899@besplex.bde.org> <20130625062039.GJ91021@kib.kiev.ua> <20130625190352.P986@besplex.bde.org> <20130625205826.GM91021@kib.kiev.ua> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-NCC-RegID: ru.rinet X-OpenPGP-Key-ID: 6B691B03 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (woozle.rinet.ru [0.0.0.0]); Wed, 26 Jun 2013 13:12:11 +0400 (MSK) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org, Bruce Evans X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 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: Wed, 26 Jun 2013 09:15:31 -0000 On Tue, 25 Jun 2013, Konstantin Belousov wrote: > > > Updates to the counter cannot be done from the interrupt context. > > > > This is fragile, however. It prevents using counters for things like > > counting interrupts. Most interrupt counting is now done directlyly > > and doesn't use PCPU_INC(). i386/i386 has just 1 use of PCPU_INC(). > > It is to count traps in machdep.c. Traps include nonmaskable > > interrupts. Even hard-disabling of interrupts doesn't prevent these. > > Otherwise, PCPU is used mainly for vm counters. E.g., for pagefaults. > > Now the trap is not an interrupt, so it shouldn't occur in the middle > > of the counter update and the PCPU_INC() can safely be replaced by > > a counter, but this is not clear. > Traps are not performance critical in the sense that there is no need to count > up to 1-10G traps per second. Anyway, as Gleb said, there is no point in > optimizing the i386 kernel. Hmm, don't we count semi-embedded routers? Or, do we think they are either amd64 or arm/mips? [snip all the rest] -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck@FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** ------------------------------------------------------------------------