Liu, ping? On 10.09.2010, at 01:24, Alexander Graf wrote: > > On 08.09.2010, at 11:40, Liu Yu wrote: > >> Current guest TLB1 is mapped to host TLB1. >> As host kernel only provides 4K uncontinuous pages, >> we have to break guest large mapping into 4K shadow mappings. >> These 4K shadow mappings are then mapped into host TLB1 on fly. >> As host TLB1 only has 13 free entries, there's serious tlb miss. >> >> Since e500v2 has a big number of TLB0 entries, >> it should be help to map those 4K shadow mappings to host TLB0. >> To achieve this, we need to unlink guest tlb and host tlb, >> So that guest TLB1 mappings can route to any host TLB0 entries freely. >> >> Pages/mappings are considerred in the same kind as host tlb entry. >> This patch remove the link between pages and guest tlb entry to do the unlink. >> And keep host_tlb0_ref in each vcpu to trace pages. >> Then it's easy to map guest TLB1 to host TLB0. >> >> In guest ramdisk boot test(guest mainly uses TLB1), >> with this patch, the tlb miss number get down 90%. >> >> Signed-off-by: Liu Yu <yu.liu@xxxxxxxxxxxxx> >> --- >> arch/powerpc/include/asm/kvm_e500.h | 7 +- >> arch/powerpc/kvm/e500.c | 4 + >> arch/powerpc/kvm/e500_tlb.c | 280 ++++++++++++----------------------- >> arch/powerpc/kvm/e500_tlb.h | 1 + >> 4 files changed, 104 insertions(+), 188 deletions(-) [snip] Alex-- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html