lkml.org 
[lkml]   [2009]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [my_cpu_ptr 1/5] Introduce my_cpu_ptr()
    Date
    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.


    \
     
     \ /
      Last update: 2009-05-31 05:21    [W:0.022 / U:30.980 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site