On Thu, Oct 30, 2008 at 12:04:33PM +0200, Avi Kivity wrote: > Marcelo Tosatti wrote: >> There is significant overhead now in comparison to the early indexing >> scheme with a list per root. It must be optimized. >> > > What's the typical number of (1) unsynced pages and (2) unsynced pages > belonging to next cr3 when switching cr3? > > I'm guessing (1) and (2) are almost equal, and both fairly large?
About 1% of memory unsynced (including pages that are not pagetables anymore, so the value is not exact). Not equal, (2) a hundred or so. > Perhaps it can simply collect the pages, then do a write-protect pass, > tlb flush, and resync pass. The two passes are now over L1 cached data > so they're not too expensive. Thats what its doing. > We could: > - keep all three parents in the array > - for the bitmap, keep a count of how many bits are set > - when we clear a bit, we dec the count, and if zero, we clear the bit > in the parent's parent. Yep. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
