Kernel: Aggregate TLB flush requests for Regions for SMP

Rather than sending one TLB flush request for each page,
aggregate them so that we're not spamming the other
processors with FlushTLB IPIs.
This commit is contained in:
Tom 2020-07-06 12:47:08 -06:00 committed by Andreas Kling
commit 06d50f64b0
Notes: sideshowbarker 2024-07-19 05:05:57 +09:00
3 changed files with 28 additions and 13 deletions

View file

@ -1405,7 +1405,7 @@ void Processor::flush_tlb_local(VirtualAddress vaddr, size_t page_count)
while (page_count > 0) {
asm volatile("invlpg %0"
:
: "m"(*(char*)vaddr.get())
: "m"(*ptr)
: "memory");
ptr += PAGE_SIZE;
page_count--;