[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 03 of 12] x86/mm: Add per-page locking for memory sharing, when audits are disabled



> At 21:56 -0500 on 15 Jan (1326664583), Andres Lagar-Cavilla wrote:
>> @@ -510,26 +684,63 @@ int mem_sharing_share_pages(struct domai
>>      smfn = get_gfn(sd, sgfn, &smfn_type);
>>      cmfn = get_gfn(cd, cgfn, &cmfn_type);
>>
>> -    ret = XEN_DOMCTL_MEM_SHARING_S_HANDLE_INVALID;
>> -    spage = mem_sharing_lookup(mfn_x(smfn));
>> -    if ( spage == NULL )
>> +    /* This tricky business is to avoid two callers deadlocking if
>> +     * grabbing pages in opposite client/source order */
>
> I think you need to delete the XXX comment just above. :)
>
Well, that XXX comment applies if get_gfn locks the p2m, and then what
we're grabbing in mem_sharing_lookup are lock per mfn, essentially. To
prevent deadlock, we will want to sort those p2m locks by ascending
domain, and then by ascending gfn within the same domain, if and when the
p2m lock is broken into fine-grained bits.

That is surely a battle for another day, I hope!
Andres
> Tim.
>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.