KVM: powerpc: Map guest userspace with TID=0 mappings
When we use TID=N userspace mappings, we must ensure that kernel mappings have been destroyed when entering userspace. Using TID=1/TID=0 for kernel/user mappings and running userspace with PID=0 means that userspace can't access the kernel mappings, but the kernel can directly access userspace. The net is that we don't need to flush the TLB on privilege switches, but we do on guest context switches (which are far more infrequent). Guest boot time performance improvement: about 30%. Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
committed by
Avi Kivity
parent
83aae4a809
commit
49dd2c4928
@@ -129,7 +129,11 @@ struct kvm_vcpu_arch {
|
||||
u32 ivor[16];
|
||||
u32 ivpr;
|
||||
u32 pir;
|
||||
|
||||
u32 shadow_pid;
|
||||
u32 pid;
|
||||
u32 swap_pid;
|
||||
|
||||
u32 pvr;
|
||||
u32 ccr0;
|
||||
u32 ccr1;
|
||||
|
||||
Reference in New Issue
Block a user