lkml.org 
[lkml]   [2011]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 2/6] arm: Move arm over to generic on_each_cpu_mask
    Date
    Note the generic version has the mask as first parameter

    Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
    Acked-by: Chris Metcalf <cmetcalf@tilera.com>
    CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
    CC: Frederic Weisbecker <fweisbec@gmail.com>
    CC: Russell King <linux@arm.linux.org.uk>
    CC: linux-mm@kvack.org
    CC: Christoph Lameter <cl@linux-foundation.org>
    CC: Pekka Enberg <penberg@kernel.org>
    CC: Matt Mackall <mpm@selenic.com>
    CC: Sasha Levin <levinsasha928@gmail.com>
    ---
    arch/arm/kernel/smp_tlb.c | 20 +++++---------------
    1 files changed, 5 insertions(+), 15 deletions(-)

    diff --git a/arch/arm/kernel/smp_tlb.c b/arch/arm/kernel/smp_tlb.c
    index 7dcb352..02c5d2c 100644
    --- a/arch/arm/kernel/smp_tlb.c
    +++ b/arch/arm/kernel/smp_tlb.c
    @@ -13,18 +13,6 @@
    #include <asm/smp_plat.h>
    #include <asm/tlbflush.h>

    -static void on_each_cpu_mask(void (*func)(void *), void *info, int wait,
    - const struct cpumask *mask)
    -{
    - preempt_disable();
    -
    - smp_call_function_many(mask, func, info, wait);
    - if (cpumask_test_cpu(smp_processor_id(), mask))
    - func(info);
    -
    - preempt_enable();
    -}
    -
    /**********************************************************************/

    /*
    @@ -87,7 +75,7 @@ void flush_tlb_all(void)
    void flush_tlb_mm(struct mm_struct *mm)
    {
    if (tlb_ops_need_broadcast())
    - on_each_cpu_mask(ipi_flush_tlb_mm, mm, 1, mm_cpumask(mm));
    + on_each_cpu_mask(mm_cpumask(mm), ipi_flush_tlb_mm, mm, 1);
    else
    local_flush_tlb_mm(mm);
    }
    @@ -98,7 +86,8 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
    struct tlb_args ta;
    ta.ta_vma = vma;
    ta.ta_start = uaddr;
    - on_each_cpu_mask(ipi_flush_tlb_page, &ta, 1, mm_cpumask(vma->vm_mm));
    + on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_tlb_page,
    + &ta, 1);
    } else
    local_flush_tlb_page(vma, uaddr);
    }
    @@ -121,7 +110,8 @@ void flush_tlb_range(struct vm_area_struct *vma,
    ta.ta_vma = vma;
    ta.ta_start = start;
    ta.ta_end = end;
    - on_each_cpu_mask(ipi_flush_tlb_range, &ta, 1, mm_cpumask(vma->vm_mm));
    + on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_tlb_range,
    + &ta, 1);
    } else
    local_flush_tlb_range(vma, start, end);
    }
    --
    1.7.0.4


    \
     
     \ /
      Last update: 2011-10-23 17:59    [W:0.023 / U:0.596 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site