Re: [PATCH][RT][PPC64] Fix a previously reverted "fix"
From: Sebastien Dugue <hidden>
Date: 2008-07-11 08:03:23
Hi Chirag, On Thu, 10 Jul 2008 22:34:56 +0530 Chirag Jog [off-list ref] wrote:
This patch reintroduces a "fix" that got reverted. Here was the original patch http://lkml.org/lkml/2007/5/22/133 Here is the new patch This patch also fixes OOPS reported here: http://lkml.org/lkml/2008/6/19/146 From tsutomu.owa@toshiba.co.jp Signed-Off-By: Chirag <redacted>
This indeed fixes the oops we get with matrix_mult, good job. You can add my Tested-by: Sebastien Dugue [off-list ref] Sebastien.
quoted hunk ↗ jump to hunk
--- linux-2.6.25.8-rt7/arch/powerpc/kernel/entry_64.S 2008-07-10 16:37:17.000000000 +0000 +++ linux-2.6.25.8-rt7.mod/arch/powerpc/kernel/entry_64.S 2008-07-10 07:58:56.000000000 +0000@@ -579,14 +579,9 @@ do_work: cmpdi r0,0 crandc eq,cr1*4+eq,eq bne restore - /* here we are preempting the current task */ 1: - li r0,1 - stb r0,PACASOFTIRQEN(r13) - stb r0,PACAHARDIRQEN(r13) - ori r10,r10,MSR_EE - mtmsrd r10,1 /* reenable interrupts */ - bl .preempt_schedule + /* preempt_schedule_irq() expects interrupts disabled. */ + bl .preempt_schedule_irq mfmsr r10 clrrdi r9,r1,THREAD_SHIFT rldicl r10,r10,48,1 /* disable interrupts again */