Dong, Eddie wrote:
> Current shadow code do prefetch in FNAME(prefetch_page), but it is only
> used 
> to choose shadow_notrap_nonpresent_pte or shadow_trap_nonpresent_pte.
>
> At least for L1 shadow, prefetching to get exact shadow L1 pte won't
> cause 
> performance regression (though handling time increases slightly ) since
> it 
> won't generate a new write protected page.
>
>   
I'm not sure that "slightly" is accurate, we need to fetch 512 or 1024 
entries.  On the other hand, we have the benefit of batching (a call to 
get_user_pages() with n = 512 is much faster than 512 calls.  I think 
that this will improve fork()s, but reduce performance with 
sparsely-accessed memory maps, or with fork() followed by exec() 
immediately.

Only benchmarking can tell if it is an overall win.

Xen limits the prefetch to a subset of the pages, maybe that's a better 
approach.


> for those L2+ shadow page tables, we can do similar for those pointed
> gfn which
> is already shadowed

I think L2s are very rare compared to L1 page tables, so any benefit 
would be minor.

-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to