On Fri, Jun 04, 2010 at 04:14:08PM +0800, Lai Jiangshan wrote: > Avi Kivity wrote: > > On 06/02/2010 11:53 AM, Lai Jiangshan wrote: > >> Current code uses slot_bitmap to find ptes who map a page > >> from the memory slot, it is not precise: some ptes in the shadow page > >> are not map any page from the memory slot. > >> > >> This patch uses rmap to find the ptes precisely, and remove > >> the unused slot_bitmap. Note that the current code is precise: memslot_id does unalias_gfn. > > Patch looks good; a couple of comments: > > > > - We might see a slowdown with !tdp, since we no longer have locality. > > Each page will map to an spte in a different page. However, it's still > > worth it in my opinion. > > Yes, this patch hurts the cache since we no longer have locality. > And if most pages of the slot are not mapped(rmap_next(kvm, rmapp, NULL)==NULL), > this patch will worse than old method I think. Can you get some numbers before/after patch, with/without lots of shadow pages instantiated? Better with large amount of memory for the guest. Because shrinking kvm_mmu_page is good. -- 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