From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Gleixner Subject: [patch 5/6] sparc: Use preempt_schedule_irq Date: Tue, 17 Sep 2013 18:53:08 -0000 Message-ID: <20130917183628.966769884@linutronix.de> References: <20130917082838.218329307@infradead.org> <20130917182350.449685712@linutronix.de> Return-path: Received: from www.linutronix.de ([62.245.132.108]:54509 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753667Ab3IQSxL (ORCPT ); Tue, 17 Sep 2013 14:53:11 -0400 Content-Disposition: inline; filename=sparc-use-preempt-schedule-irq.patch Sender: linux-arch-owner@vger.kernel.org List-ID: To: LKML Cc: Peter Zijlstra , Ingo Molnar , linux-arch@vger.kernel.org, Linus Torvalds , Andi Kleen , Peter Anvin , Mike Galbraith , Arjan van de Ven , Frederic Weisbecker , "David S. Miller" The low level preemption code fiddles with the PREEMPT_ACTIVE bit for no reason and calls schedule() with interrupts disabled, which is wrong to begin with. Remove the PREEMPT_ACTIVE fiddling and call the proper schedule_preempt_irq() function. Signed-off-by: Thomas Gleixner Cc: "David S. Miller" Cc: sparclinux@vger.kernel.org --- arch/sparc/kernel/rtrap_64.S | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) Index: linux-2.6/arch/sparc/kernel/rtrap_64.S =================================================================== --- linux-2.6.orig/arch/sparc/kernel/rtrap_64.S +++ linux-2.6/arch/sparc/kernel/rtrap_64.S @@ -306,12 +306,9 @@ to_kernel: nop cmp %l4, 0 bne,pn %xcc, kern_fpucheck - sethi %hi(PREEMPT_ACTIVE), %l6 - stw %l6, [%g6 + TI_PRE_COUNT] - call schedule + call preempt_schedule_irq nop ba,pt %xcc, rtrap - stw %g0, [%g6 + TI_PRE_COUNT] #endif kern_fpucheck: ldub [%g6 + TI_FPDEPTH], %l5 brz,pt %l5, rt_continue