Messages in this thread |  | | | From | Rusty Russell <> | | Subject | Re: [my_cpu_ptr 1/5] Introduce my_cpu_ptr() | | Date | Sun, 31 May 2009 12:49:07 +0930 |
| |
On Sat, 30 May 2009 01:07:48 am Christoph Lameter wrote: > On Fri, 29 May 2009, Rusty Russell wrote: > > > Have not seen it but it would be a bit confusing since > > > we already have get_cpu* which must be paired with put_cpu* > > > because of the refcount taking (get_cpu_var and get_cpu). > > > get_cpu_ptr() would not have to be paired. > > > > To clarify, get_cpu_ptr() would be paired with put_cpu_ptr(). > > __get_cpu_ptr() would be the "raw" one: > > > > #define get_cpu_ptr(xx) per_cpu_ptr(xx, get_cpu()) > > #define __get_cpu_ptr(xx) per_cpu_ptr(xx, smp_processor_id()) > > Hmmm.. That would be a major change in semantics.
It's exactly like get_cpu_var. For better or worse, let's not invent YA new convention.
> How would that look for atomic per cpu ops? > > get_cpu_ptr_inc(per_cpu_ptr1); > __get_cpu_ptr_inc(per_cpu_ptr2) > put_cpu_ptr() > > vs. > > this_cpu_inc(per_cpu_ptr1) > this_cpu_inc(per_cpu_ptr2)
Well, get_* doesn't really make sense for any function which doesn't return a value.
So that name question doesn't really have a clear convention answer: we could re-use cpu_local_inc() since I think we decided to kill local_t. I slightly prefer it over "this_cpu_*" since we're not actually doing anything to the cpu itself, but I don't think anyone will get too confused and think that after this executes their CPU will be stepping 11. :)
Thanks, Rusty.
|  |