On Sat, Jul 10, 2010 at 7:55 AM, Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx> wrote: > > > Gu, Zhongshu wrote: >> Hi all: >> Recently i am looking at the code of the implementation of >> shadow page table of kvm. There is one thing that i am confused. Is >> there implementation for caching the shadow page table during context >> switch? From the code, when there is action of setting cr3 in the >> guest os, it will call new_cr3 which will free the mmu roots. When >> entering the guest again, because the root pages are invalid page now, >> it will load mmu and allocate roots again. So for every context >> switch, the shadow page table will be re-constructed. Is that right? >> > > Generally, The old mmu root is not freed, is still in shadow page cache, > then when the guest switch to the old root, it can find the corresponding > shadow page form the cache, unless the old root's shadow page is invalid > (it's zapped for the shadow page number control) > Thank you for your answer. There is another thing that i am not sure. Is there any mechanism in the kvm to make sure that it will zap the mmu root's pages if the process that use this root has terminated in the guest? Or does it just use kvm_mmu_free_some_pages to make sure that the number of free mmu pages is above the specified limit? Thanks -- Zhongshu -- 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