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>