From: Chirag Jog <chirag@linux.vnet.ibm.com>
To: Steven Rostedt <rostedt@goodmis.org>,
LKML <linux-kernel@vger.kernel.org>,
linux-rt-users <linux-rt-users@vger.kernel.org>
Cc: "Timothy R. Chavez" <tim.chavez@linux.vnet.ibm.com>,
Josh Triplett <josht@linux.vnet.ibm.com>,
Sebastien Dugue <sebastien.dugue@bull.net>
Subject: [PATCH][PPC64][RT] Fix a previously reverted fix again
Date: Thu, 7 Aug 2008 18:05:58 +0530 [thread overview]
Message-ID: <20080807123558.GA10684@linux.vnet.ibm.com> (raw)
Hi Steven,
Ironically in the 2.6.26-rt1,the patch fix-a-previously-reverted-fix.patch
again got reverted ;).
Here the patch that should replace the above patch.
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 <chirag@linux.vnet.ibm.com>
---
arch/powerpc/kernel/entry_64.S | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
Index: linux-2.6.26-rt1/arch/powerpc/kernel/entry_64.S
===================================================================
--- linux-2.6.26-rt1.orig/arch/powerpc/kernel/entry_64.S 2008-08-07 10:35:18.000000000 +0000
+++ linux-2.6.26-rt1/arch/powerpc/kernel/entry_64.S 2008-08-07 11:33:55.000000000 +0000
@@ -595,30 +595,31 @@
bne restore
/* here we are preempting the current task */
1:
+ /*
+ * preempt_schedule_irq() expects interrupts disabled and returns
+ * with interrupts disabled. No need to check preemption again,
+ * preempt_schedule_irq just did that for us.
+ */
+ bl .preempt_schedule_irq
#ifdef CONFIG_TRACE_IRQFLAGS
bl .trace_hardirqs_on
+#endif /* CONFIG_TRACE_IRQFLAGS */
+
/* Note: we just clobbered r10 which used to contain the previous
* MSR before the hard-disabling done by the caller of do_work.
* We don't have that value anymore, but it doesn't matter as
* we will hard-enable unconditionally, we can just reload the
* current MSR into r10
*/
- mfmsr r10
-#endif /* CONFIG_TRACE_IRQFLAGS */
- li r0,1
- stb r0,PACASOFTIRQEN(r13)
- stb r0,PACAHARDIRQEN(r13)
- ori r10,r10,MSR_EE
- mtmsrd r10,1 /* reenable interrupts */
- bl .preempt_schedule
- mfmsr r10
- clrrdi r9,r1,THREAD_SHIFT
- rldicl r10,r10,48,1 /* disable interrupts again */
- rotldi r10,r10,16
- mtmsrd r10,1
- ld r4,TI_FLAGS(r9)
- andi. r0,r4,_TIF_NEED_RESCHED
- bne 1b
+ bl .preempt_schedule_irq
+ mfmsr r10
+ clrrdi r9,r1,THREAD_SHIFT
+ rldicl r10,r10,48,1 /* disable interrupts again */
+ rotldi r10,r10,16
+ mtmsrd r10,1
+ ld r4,TI_FLAGS(r9)
+ andi. r0,r4,(_TIF_NEED_RESCHED)
+ bne 1b
b restore
user_work:
reply other threads:[~2008-08-07 12:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080807123558.GA10684@linux.vnet.ibm.com \
--to=chirag@linux.vnet.ibm.com \
--cc=josht@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=sebastien.dugue@bull.net \
--cc=tim.chavez@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.