Date: Wed, 2 Jan 2002 16:02:14 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: John Baldwin <jhb@FreeBSD.ORG> Cc: 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: <200201030002.g0302Eo60575@apollo.backplane.com> References: <XFMail.020102152920.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
: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? -Matt Matthew Dillon <dillon@backplane.com> 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?200201030002.g0302Eo60575>