From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx104.postini.com [74.125.245.104]) by kanga.kvack.org (Postfix) with SMTP id 324F06B13F2 for ; Thu, 9 Feb 2012 03:36:56 -0500 (EST) Received: by eekc13 with SMTP id c13so567604eek.14 for ; Thu, 09 Feb 2012 00:36:54 -0800 (PST) MIME-Version: 1.0 From: Gilad Ben-Yossef Subject: [PATCH v9 2/8] arm: move arm over to generic on_each_cpu_mask Date: Thu, 9 Feb 2012 10:36:19 +0200 Message-Id: <1328776585-22518-3-git-send-email-gilad@benyossef.com> In-Reply-To: <1328776585-22518-1-git-send-email-gilad@benyossef.com> References: <1328776585-22518-1-git-send-email-gilad@benyossef.com> Sender: owner-linux-mm@kvack.org List-ID: To: linux-kernel@vger.kernel.org Cc: Gilad Ben-Yossef , "Srivatsa S. Bhat" , Frederic Weisbecker , Russell King , Christoph Lameter , Chris Metcalf , linux-mm@kvack.org, Pekka Enberg , Matt Mackall , Rik van Riel , Andi Kleen , Sasha Levin , Mel Gorman , Andrew Morton , Alexander Viro , linux-fsdevel@vger.kernel.org, Avi Kivity , Kosaki Motohiro , Milton Miller Note that the generic version is a little different then the Arm one: 1. It has the mask as first parameter 2. It calls the function on the calling CPU with interrupts disabled, but this should be OK since the function is called on the other CPUs with interrupts disabled anyway. Signed-off-by: Gilad Ben-Yossef Acked-by: Peter Zijlstra Acked-by: Michal Nazarewicz CC: Srivatsa S. Bhat CC: Frederic Weisbecker CC: Russell King CC: Christoph Lameter CC: Chris Metcalf CC: linux-mm@kvack.org CC: Pekka Enberg CC: Matt Mackall CC: Rik van Riel CC: Andi Kleen CC: Sasha Levin CC: Mel Gorman CC: Andrew Morton CC: Alexander Viro CC: linux-fsdevel@vger.kernel.org CC: Avi Kivity CC: Kosaki Motohiro CC: Milton Miller --- 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 #include -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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org