lkml.org 
[lkml]   [2010]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectStraggler: Connector: Use this_cpu_operations
    The patch was originally in the use cpuops patchset but it needs an
    inc_return and is therefore dependant on an extension of the cpu ops.
    Fixed up and verified that it compiles.


    Subject: Connector: Use this_cpu operations

    get_seq can benefit from this_cpu_operations. Address calculation is avoided
    and the increment is done using an xadd.

    Cc: Scott James Remnant <scott@ubuntu.com>
    Cc: Mike Frysinger <vapier@gentoo.org>
    Signed-off-by: Christoph Lameter <cl@linux.com>

    ---
    drivers/connector/cn_proc.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    Index: linux-2.6/drivers/connector/cn_proc.c
    ===================================================================
    --- linux-2.6.orig/drivers/connector/cn_proc.c 2010-12-07 09:40:48.000000000 -0600
    +++ linux-2.6/drivers/connector/cn_proc.c 2010-12-07 09:41:13.000000000 -0600
    @@ -43,9 +43,10 @@ static DEFINE_PER_CPU(__u32, proc_event_

    static inline void get_seq(__u32 *ts, int *cpu)
    {
    - *ts = get_cpu_var(proc_event_counts)++;
    + preempt_disable();
    + *ts = __this_cpu_inc_return(proc_event_counts) -1;
    *cpu = smp_processor_id();
    - put_cpu_var(proc_event_counts);
    + preempt_enable();
    }

    void proc_fork_connector(struct task_struct *task)


    \
     
     \ /
      Last update: 2010-12-07 16:49    [W:0.021 / U:1.260 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site