Messages in this thread | | | Date | Tue, 28 Apr 2009 13:35:40 -0400 (EDT) | From | Christoph Lameter <> | Subject | Re: [PATCH] netfilter: use per-CPU r**ursive lock {XV} |
| |
On Tue, 28 Apr 2009, Paul E. McKenney wrote:
> > If you can show me have to pass a per-cpu variable (the variable, > > not a dereference of it) as an argument to an inline function, > > I'll implement this :-) > > > > It has to be dereferenced after local_bh_disable() for the > > read side acquisition. > > The way I did this in treercu.c was to create an array of references > to the per-CPU data in question. Not necessarily recommended, but > one way of doing it. That said, one could argue that we should wait > until we have at least three users before creating a generic primitive.
The new percpu allocator allows you to create a per cpu pointer and pass it to functions.
per_cpu_ptr(pointer,cpu) is used to select an instance.
| |