All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] [I-PIPE][PATCH 7/7] arm64: ipipe: turn hard irqs on when leaving the idle state
@ 2018-09-05 15:21 Philippe Gerum
  0 siblings, 0 replies; only message in thread
From: Philippe Gerum @ 2018-09-05 15:21 UTC (permalink / raw)
  To: Dmitriy Cherkasov; +Cc: xenomai

As required to mimic the original behavior when interrupt pipelining
is in effect.
---
 arch/arm64/kernel/process.c | 34 +---------------------------------
 1 file changed, 1 insertion(+), 33 deletions(-)

diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index e958102fc69b..395a024d0ca3 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -73,36 +73,6 @@ EXPORT_SYMBOL_GPL(pm_power_off);
 
 void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);
 
-#ifdef CONFIG_IPIPE
-static void __ipipe_halt_root(void)
-{
-	struct ipipe_percpu_domain_data *p;
-
-	/*
-	 * Emulate idle entry sequence over the root domain, which is
-	 * stalled on entry.
-	 */
-	hard_local_irq_disable();
-
-	p = ipipe_this_cpu_root_context();
-	__clear_bit(IPIPE_STALL_FLAG, &p->status);
-
-	if (unlikely(__ipipe_ipending_p(p)))
-		__ipipe_sync_stage();
-	else {
-		cpu_do_idle();
-	}
-}
-
-#else /* !CONFIG_IPIPE */
-
-static void __ipipe_halt_root(void)
-{
-	cpu_do_idle();
-}
-
-#endif /* !CONFIG_IPIPE */
-
 /*
  * This is our default idle handler.
  */
@@ -113,10 +83,8 @@ void arch_cpu_idle(void)
 	 * tricks
 	 */
 	trace_cpu_idle_rcuidle(1, smp_processor_id());
-	if (!need_resched())
-		__ipipe_halt_root();
 	cpu_do_idle();
-	local_irq_enable();
+	local_irq_enable_full();
 	trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
 }
 
-- 
2.14.4



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-09-05 15:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-05 15:21 [Xenomai] [I-PIPE][PATCH 7/7] arm64: ipipe: turn hard irqs on when leaving the idle state Philippe Gerum

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.