Andrea Arcangeli wrote:
> On Mon, Jan 14, 2008 at 05:43:58PM +0200, Avi Kivity wrote:
>   
>> heavy handed.  Maybe it can be fixed in some clever way with rcu or with a 
>> rwlock around the memory slot map.
>>     
>
> Ok, first the alias looked superflous so I just dropped it (the whole
> point of the alias is to never call get_user_pages in the aliased hva,
> so the notifiers should never trigger in those alias gfn ranges).
>
>   

Right, good point.

Note that we can now replace aliases with slots; simply map the same hva 
range to two different gpa ranges (using a kvm-private memslot for 
backward compat).

> And the code was doing hva->gfn->rmap, while I'm now doing hva->rmap
> directly to avoid two loops over the memslot instead of only one. To
> serialize hva_to_rmapp mmap_sem is taken (in any mode) or the mmu_lock
> is taken, and it's enough to serialize the insertion with the mmu_lock
> and setting userspace_addr to 0 before insertion if the buffer isn't
> allocated by userland. Setting userspace_addr atomically will make the
> memslot visible.
>   

Can we do the locking change as a separate patch?

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


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
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