Messages in this thread | | | Date | Tue, 9 Jan 2007 23:38:26 +0100 | From | Pavel Machek <> | Subject | Re: [PATCH] local_t : Documentation |
| |
On Tue 2007-01-09 13:01:10, Andrew Morton wrote: > On Mon, 8 Jan 2007 22:14:46 -0500 > Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote: > > > +* How to use local atomic operations > > + > > +#include <linux/percpu.h> > > +#include <asm/local.h> > > + > > +static DEFINE_PER_CPU(local_t, counters) = LOCAL_INIT(0); > > + > > + > > +* Counting > > + > > +In preemptible context, use get_cpu_var() and put_cpu_var() around local atomic > > +operations : it makes sure that preemption is disabled around write access to > > +the per cpu variable. For instance : > > + > > + local_inc(&get_cpu_var(counters)); > > + put_cpu_var(counters); > > Confused. The whole point behind local_t is that we can do > atomic-wrt-interrupts inc and dec on them.
Could we get this short of two line description into the Doc/ file? It talks about how to implement them, mentions LOCK prefixes unlikely to be present on non-i386, but does not tell me what they guarantee... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |