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)
* helpers are enough to protect RCU uses inside the exception. So
* just return immediately if we detect we are in an IRQ.
*/
if (in_interrupt())
if (!ipipe_root_p || in_interrupt())
return;
local_irq_save(flags);
......@@ -169,7 +169,7 @@ void context_tracking_exit(enum ctx_state state)
{
unsigned long flags;
if (in_interrupt())
if (!ipipe_root_p || in_interrupt())
return;
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