Avi Kivity wrote:
> Andrea Arcangeli wrote:
>> On Wed, Apr 02, 2008 at 12:50:50PM +0300, Avi Kivity wrote:
>>  
>>> Isn't it faster though?  We don't need to pull in the cacheline 
>>> containing the struct page anymore.
>>>     
>>
>> Exactly, not only that, get_user_pages is likely a bit slower that we
>> need for just kvm pte lookup. GRU uses follow_page directly because it
>> runs in the tlb miss handler, for us instead the tlb miss handler
>> doesn't invoke a page fault unless the spte is non present.
>>
>>   
>
> How about this plan?
>
> 0. Merge mmu notifiers
>
> 1. gfn_to_page() -> gfn_to_pfn()
>
> Still keeping the refcount.  Change bad_page to kvm_bad_hfn.
>
> 2. Drop the refcounting from gfn_to_pfn() and from kvm_release_page_*()
>
> Still using get_user_pages() (and dropping the refcount immediately)
>
> Simultaneously, change hack_module.awk to add the refcount back.
>
> 3. Export follow_page() or something based on fast_gup(), and use it
>
> btw, if we change the method we use to read the Linux pte, I'd like to 
> get the writable bit out of it.  This was, when we create an spte for 
> a gpte that is writable and dirty, we can set the spte writable iff 
> the Linux pte is writable.  This avoids breaking COW unnecessarily.
>

Ugh, there's still mark_page_accessed() and SetPageDirty().


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


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to