public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] powerpc/64bit,PREEMPT_RT: Check preempt_count before preempting
@ 2013-04-15  5:48 Priyanka Jain
  2013-04-25 16:58 ` Sebastian Andrzej Siewior
  0 siblings, 1 reply; 5+ messages in thread
From: Priyanka Jain @ 2013-04-15  5:48 UTC (permalink / raw)
  To: linux-rt-users; +Cc: Priyanka Jain

In ret_from_except_lite() with CONFIG_PREEMPT enabled,
add the missing check to compare value of preempt_count
with zero before continuing with preemption process of
the current task.
If preempt_count is non-zero, restore reg and return,
else continue the preemption process.

Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
---
 arch/powerpc/kernel/entry_64.S |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
index 1b1c8ae..ec120e6 100644
--- a/arch/powerpc/kernel/entry_64.S
+++ b/arch/powerpc/kernel/entry_64.S
@@ -643,6 +643,8 @@ resume_kernel:
 #ifdef CONFIG_PREEMPT
 	/* Check if we need to preempt */
 	lwz	r8,TI_PREEMPT(r9)
+	cmpwi	0,r8,0		/* if non-zero, just restore regs and return */
+	bne	restore
 	andi.	r0,r4,_TIF_NEED_RESCHED
 	bne+	check_count
 
-- 
1.7.4.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [PATCH] powerpc/64bit,PREEMPT_RT: Check preempt_count before preempting
@ 2013-04-15  5:47 Priyanka Jain
  2013-04-15  5:50 ` Jain Priyanka-B32167
  0 siblings, 1 reply; 5+ messages in thread
From: Priyanka Jain @ 2013-04-15  5:47 UTC (permalink / raw)
  To: linux-rt-users; +Cc: Priyanka Jain

In ret_from_except_lite() with CONFIG_PREEMPT enabled,
add the missing check to compare value of preempt_count
with zero before continuing with preemption process of
the current task.
If preempt_count is non-zero, restore reg and return,
else continue the preemption process.

Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Fixes CQ:ENGR257848
	 CONFIG_PREEMPT_RT_FULL does not work on 64-bit
---
 arch/powerpc/kernel/entry_64.S |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
index 1b1c8ae..ec120e6 100644
--- a/arch/powerpc/kernel/entry_64.S
+++ b/arch/powerpc/kernel/entry_64.S
@@ -643,6 +643,8 @@ resume_kernel:
 #ifdef CONFIG_PREEMPT
 	/* Check if we need to preempt */
 	lwz	r8,TI_PREEMPT(r9)
+	cmpwi	0,r8,0		/* if non-zero, just restore regs and return */
+	bne	restore
 	andi.	r0,r4,_TIF_NEED_RESCHED
 	bne+	check_count
 
-- 
1.7.4.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-04-26  4:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-15  5:48 [PATCH] powerpc/64bit,PREEMPT_RT: Check preempt_count before preempting Priyanka Jain
2013-04-25 16:58 ` Sebastian Andrzej Siewior
2013-04-26  4:01   ` Jain Priyanka-B32167
  -- strict thread matches above, loose matches on Subject: below --
2013-04-15  5:47 Priyanka Jain
2013-04-15  5:50 ` Jain Priyanka-B32167

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox