SMP - reduced TLB flushing
- flush TLB of processes only if the page tables has been changed and the page tables of this process are already loaded on this cpu which means that there might be stale entries in TLB. Until now SMP was always flushing TLB to make sure everything is consistent.
This commit is contained in:
@@ -148,6 +148,9 @@ PUBLIC int do_vmctl(struct proc * caller, message * m_ptr)
|
||||
} else
|
||||
#endif
|
||||
RTS_SET(p, RTS_VMINHIBIT);
|
||||
#if CONFIG_SMP
|
||||
p->p_misc_flags |= MF_FLUSH_TLB;
|
||||
#endif
|
||||
return OK;
|
||||
case VMCTL_VMINHIBIT_CLEAR:
|
||||
assert(RTS_ISSET(p, RTS_VMINHIBIT));
|
||||
|
||||
Reference in New Issue
Block a user