Commit 5ac01b95 authored by Philippe Gerum's avatar Philippe Gerum

context_tracking: ipipe: do not track over the head domain

Context tracking is a prerequisite for FULL_NOHZ, so that the RCU
subsystem can detect CPU idleness without relying on the (regular)
timer tick.

Out-of-band activity running over the head domain should by definition
not be involved in such detection logic, as the root domain has no
knowledge of what happens - and when - on the head domain whatsoever.
parent bc085b2b
...@@ -113,7 +113,7 @@ void context_tracking_enter(enum ctx_state state) ...@@ -113,7 +113,7 @@ void context_tracking_enter(enum ctx_state state)
* helpers are enough to protect RCU uses inside the exception. So * helpers are enough to protect RCU uses inside the exception. So
* just return immediately if we detect we are in an IRQ. * just return immediately if we detect we are in an IRQ.
*/ */
if (in_interrupt()) if (!ipipe_root_p || in_interrupt())
return; return;
local_irq_save(flags); local_irq_save(flags);
...@@ -169,7 +169,7 @@ void context_tracking_exit(enum ctx_state state) ...@@ -169,7 +169,7 @@ void context_tracking_exit(enum ctx_state state)
{ {
unsigned long flags; unsigned long flags;
if (in_interrupt()) if (!ipipe_root_p || in_interrupt())
return; return;
local_irq_save(flags); local_irq_save(flags);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment