Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Jan 2002 18:07:34 -0600
From:      Alfred Perlstein <bright@mu.org>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        John Baldwin <jhb@FreeBSD.ORG>, arch@FreeBSD.ORG, Bernd Walter <ticso@cicely8.cicely.de>, Mike Smith <msmith@FreeBSD.ORG>, Bruce Evans <bde@zeta.org.au>, Michal Mertl <mime@traveller.cz>, Peter Jeremy <peter.jeremy@alcatel.com.au>
Subject:   Re: When to use atomic_ functions? (was: 64 bit counters)
Message-ID:  <20020102180734.A82406@elvis.mu.org>
In-Reply-To: <200201030002.g0302Eo60575@apollo.backplane.com>; from dillon@apollo.backplane.com on Wed, Jan 02, 2002 at 04:02:14PM -0800
References:  <XFMail.020102152920.jhb@FreeBSD.org> <200201030002.g0302Eo60575@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
* Matthew Dillon <dillon@apollo.backplane.com> [020102 18:02] wrote:
> :Look at PCPU_GET/PCPU_SET.  Note that since an interrupt can preempt you and
> :push you off onto another CPU, you have to use a critical section while
> :updating per-CPU variables.  If desired, some kind of free area could be stuck
> :in struct pcpu (or more likely, struct pcpu would hold a pointer to the area)
> :that could be galloc/gfree'd or some such.
> :
> :-- 
> :
> :John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
> :"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
> 
>     Maybe we are going about this all wrong.  If a particular interface
>     counter can only be modified from the device interrupt, or only be
>     modified while holding the appropriate mutex, do we need any locking
>     at all?

Yes against the collector unless the collector is run periodically
on each cpu to collect the stats.

-- 
-Alfred Perlstein [alfred@freebsd.org]
'Instead of asking why a piece of software is using "1970s technology,"
 start asking why software is ignoring 30 years of accumulated wisdom.'
Tax deductable donations for FreeBSD: http://www.freebsdfoundation.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020102180734.A82406>