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

Reply via email to