Kernel: Reduce the number of TLB invalidations
Invalidations are not done if mapping or unmapping previously unmapped page. TLB invalidate IPIs are now ignored if they don't affect the currently mapped address space
This commit is contained in:
@@ -133,7 +133,7 @@ namespace Kernel
|
||||
void map_kernel_memory();
|
||||
void prepare_fast_page();
|
||||
|
||||
static void invalidate(vaddr_t, bool send_smp_message);
|
||||
void invalidate(vaddr_t, bool send_smp_message);
|
||||
|
||||
static void map_fast_page(paddr_t);
|
||||
static void unmap_fast_page();
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace Kernel
|
||||
{
|
||||
uintptr_t vaddr;
|
||||
size_t page_count;
|
||||
void* page_table;
|
||||
} flush_tlb;
|
||||
SchedulerQueue::Node* new_thread;
|
||||
SchedulerQueue::Node* unblock_thread;
|
||||
|
||||
Reference in New Issue
Block a user