When switching to a kernel thread we no longer set the page directory.
This is not necessary, since userland teams' page directories also contain the kernel mappings, and avoids unnecessary TLB flushes. To make that possible the vm_translation_map_arch_info objects are reference counted now. This optimization reduces the kernel time of the Haiku build on my machine with SMP disabled a few percent, but interestingly the total time decreases only marginally. Haven't tested with SMP yet, but for full impact CPU affinity would be needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28287 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -238,6 +238,8 @@ typedef struct arch_cpu_info {
|
||||
int model;
|
||||
int extended_model;
|
||||
|
||||
struct vm_translation_map_arch_info* active_translation_map;
|
||||
|
||||
// local TSS for this cpu
|
||||
struct tss tss;
|
||||
struct tss double_fault_tss;
|
||||
|
||||
Reference in New Issue
Block a user