Flush the TLB after idle operation

While a CPU executes the idle thread, it receives no cross-CPU TLB flush
requests. Therefore, the TLB needs to get flushed when leaving the idle
thread to compensate for any missed flush requests.

Fixes ssumpf/foc#9.
This commit is contained in:
Christian Prochaska
2013-08-28 19:53:23 +02:00
committed by Stefan Kalkowski
parent b9323143ee
commit 43cd446fe9

View File

@@ -182,6 +182,7 @@ Kernel_thread::idle_op()
arch_tickless_idle(cpu);
Mem_space::enable_tlb(cpu);
Mem_unit::tlb_flush();
Rcu::leave_idle(cpu);
Timer_tick::enable(cpu);
}