mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 20:57:35 +00:00
Kernel: Avoid flushing the tlb if there's only one thread
If we're flushing user space pointers and the process only has one thread, we do not need to broadcast this to other processors as they will all discard that request anyway.
This commit is contained in:
parent
40a5487bab
commit
b445f15131
1 changed files with 1 additions and 1 deletions
|
@ -1703,7 +1703,7 @@ void Processor::flush_tlb_local(VirtualAddress vaddr, size_t page_count)
|
|||
|
||||
void Processor::flush_tlb(const PageDirectory* page_directory, VirtualAddress vaddr, size_t page_count)
|
||||
{
|
||||
if (s_smp_enabled)
|
||||
if (s_smp_enabled && (!is_user_address(vaddr) || Process::current()->thread_count() > 1))
|
||||
smp_broadcast_flush_tlb(page_directory, vaddr, page_count);
|
||||
else
|
||||
flush_tlb_local(vaddr, page_count);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue