This message generated a parse failure. Raw output follows here. Please use 'back' to navigate. From devnull@lkml.org Fri Mar 29 15:46:59 2024 Envelope-to: j@jasper.es Delivery-date: Tue, 22 Jan 2013 12:16:56 +0100 Received: from localhost ([127.0.0.1] helo=squeeze.vs19.net) by squeeze.vs19.net with esmtp (Exim 4.72) (envelope-from ) id 1TxYcv-00072x-Lo for j@jasper.es; Tue, 22 Jan 2013 08:50:39 +0100 Received: from pop3.telfort.nl [213.205.33.252] by squeeze.vs19.net with POP3 (fetchmail-6.3.18) for (single-drop); Tue, 22 Jan 2013 08:50:37 +0100 (CET) Received: from cmgw-nl-1 (10.39.115.161) by mda-nl-3.mail.tiscali.sys (8.5.142) id 4FE1AB2F073A4EB7 for jasper@telfort.nl; Tue, 22 Jan 2013 08:43:28 +0100 Received: from cpsmtpb-ews09.kpnxchange.com ([213.75.39.14]) by cmgw-nl-1 with id qvjU1k0040JKL5h01vjUwN; Tue, 22 Jan 2013 08:43:28 +0100 X-CNFS-Analysis: v=2.0 cv=Mc7uSuDf c=1 sm=2 a=UK1r566ZdBxH71SXbqIOeA==:17 a=qtYptBx3ebAA:10 a=dIHJR33JLeYA:10 a=-oxz3-EH24EA:10 a=IkcTkHD0fZMA:10 a=9tSwX7uLV1UA:10 a=VnNF1IyMAAAA:8 a=zlXEHKSeJ3EA:10 a=VwQbUJbxAAAA:8 a=W0vUJOdyAAAA:8 a=wrU0FP1oldtFl1NjTosA:9 a=QEXdDO2ut3Y Received: from cpsps-ews03.kpnxchange.com ([10.94.84.170]) by cpsmtpb-ews09.kpnxchange.com with Microsoft SMTPSVC(7.5.7601.17514); Tue, 22 Jan 2013 08:42:17 +0100 Received: from vger.kernel.org ([209.132.180.67]) by cpsps-ews03.kpnxchange.com with Microsoft SMTPSVC(7.5.7601.17514); Tue, 22 Jan 2013 08:42:17 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932137Ab3AVHnS (ORCPT ); Tue, 22 Jan 2013 02:43:18 -0500 Received: from e28smtp06.in.ibm.com ([122.248.162.6]:54346 "EHLO e28smtp06.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755523Ab3AVHnL (ORCPT ); Tue, 22 Jan 2013 02:43:11 -0500 Received: from /spool/local by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 22 Jan 2013 13:11:14 +0530 Received: from d28dlp01.in.ibm.com (9.184.220.126) by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 22 Jan 2013 13:11:12 +0530 Received: from d28relay01.in.ibm.com (d28relay01.in.ibm.com [9.184.220.58]) by d28dlp01.in.ibm.com (Postfix) with ESMTP id ED6CDE004E; Tue, 22 Jan 2013 13:13:32 +0530 (IST) Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64]) by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r0M7h3jJ33358066; Tue, 22 Jan 2013 13:13:03 +0530 Received: from d28av02.in.ibm.com (loopback [127.0.0.1]) by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r0M7h30t006648; Tue, 22 Jan 2013 18:43:05 +1100 Received: from srivatsabhat.in.ibm.com (srivatsabhat.in.ibm.com [9.124.35.112]) by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id r0M7h350006640; Tue, 22 Jan 2013 18:43:03 +1100 From: "Srivatsa S. Bhat" Subject: [PATCH v5 30/45] alpha/smp: Use get/put_online_cpus_atomic() to prevent CPU offline To: tglx@linutronix.de, peterz@infradead.org, tj@kernel.org, oleg@redhat.com, paulmck@linux.vnet.ibm.com, rusty@rustcorp.com.au, mingo@kernel.org, akpm@linux-foundation.org, namhyung@kernel.org Cc: rostedt@goodmis.org, wangyun@linux.vnet.ibm.com, xiaoguangrong@linux.vnet.ibm.com, rjw@sisk.pl, sbw@mit.edu, fweisbec@gmail.com, linux@arm.linux.org.uk, nikunj@linux.vnet.ibm.com, srivatsa.bhat@linux.vnet.ibm.com, linux-pm@vger.kernel.org, linux-arch@vge Date: Tue, 22 Jan 2013 13:11:18 +0530 Message-Id: <20130122074113.13822.3018.stgit@srivatsabhat.in.ibm.com> In-Reply-To: <20130122073210.13822.50434.stgit@srivatsabhat.in.ibm.com> References: <20130122073210.13822.50434.stgit@srivatsabhat.in.ibm.com> User-Agent: StGIT/0.14.3 Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13012207-9574-0000-0000-000006489C20 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-Id: X-Mailing-List: linux-kernel@vger.kernel.org X-OriginalArrivalTime: 22 Jan 2013 07:42:18.0026 (UTC) FILETIME=[00FFA0A0:01CDF874] X-RcptDomain: telfort.nl Once stop_machine() is gone from the CPU offline path, we won't be able to depend on preempt_disable() or local_irq_disable() to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Also, remove the non-ASCII character present in this file! Cc: linux-alpha@vger.kernel.org Signed-off-by: Srivatsa S. Bhat --- arch/alpha/kernel/smp.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c index 9603bc2..9213d5d 100644 --- a/arch/alpha/kernel/smp.c +++ b/arch/alpha/kernel/smp.c @@ -498,7 +498,6 @@ smp_cpus_done(unsigned int max_cpus) ((bogosum + 2500) / (5000/HZ)) % 100); } - void smp_percpu_timer_interrupt(struct pt_regs *regs) { @@ -682,7 +681,7 @@ ipi_flush_tlb_mm(void *x) void flush_tlb_mm(struct mm_struct *mm) { - preempt_disable(); + get_online_cpus_atomic(); if (mm == current->active_mm) { flush_tlb_current(mm); @@ -694,7 +693,7 @@ flush_tlb_mm(struct mm_struct *mm) if (mm->context[cpu]) mm->context[cpu] = 0; } - preempt_enable(); + put_online_cpus_atomic(); return; } } @@ -703,7 +702,7 @@ flush_tlb_mm(struct mm_struct *mm) printk(KERN_CRIT "flush_tlb_mm: timed out\n"); } - preempt_enable(); + put_online_cpus_atomic(); } EXPORT_SYMBOL(flush_tlb_mm); @@ -731,7 +730,7 @@ flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) struct flush_tlb_page_struct data; struct mm_struct *mm = vma->vm_mm; - preempt_disable(); + get_online_cpus_atomic(); if (mm == current->active_mm) { flush_tlb_current_page(mm, vma, addr); @@ -743,7 +742,7 @@ flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) if (mm->context[cpu]) mm->context[cpu] = 0; } - preempt_enable(); + put_online_cpus_atomic(); return; } } @@ -756,7 +755,7 @@ flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) printk(KERN_CRIT "flush_tlb_page: timed out\n"); } - preempt_enable(); + put_online_cpus_atomic(); } EXPORT_SYMBOL(flush_tlb_page); @@ -787,7 +786,7 @@ flush_icache_user_range(struct vm_area_struct *vma, struct page *page, if ((vma->vm_flags & VM_EXEC) == 0) return; - preempt_disable(); + get_online_cpus_atomic(); if (mm == current->active_mm) { __load_new_mm_context(mm); @@ -799,7 +798,7 @@ flush_icache_user_range(struct vm_area_struct *vma, struct page *page, if (mm->context[cpu]) mm->context[cpu] = 0; } - preempt_enable(); + put_online_cpus_atomic(); return; } } @@ -808,5 +807,5 @@ flush_icache_user_range(struct vm_area_struct *vma, struct page *page, printk(KERN_CRIT "flush_icache_page: timed out\n"); } - preempt_enable(); + put_online_cpus_atomic(); } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/