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

Re: [Xen-devel] [PATCHv11 1/4] gnttab: per-active entry locking



>>> On 05.06.15 at 15:41, <david.vrabel@xxxxxxxxxx> wrote:
> On 05/06/15 14:32, Jan Beulich wrote:
>>>>> On 02.06.15 at 18:26, <david.vrabel@xxxxxxxxxx> wrote:
>>> @@ -546,13 +567,19 @@ static void mapcount(
>>>  
>>>      *wrc = *rdc = 0;
>>>  
>>> +    /*
>>> +     * Must have the remote domain's grant table lock while counting
>>> +     * its active entries.
>>> +     */
>>> +    ASSERT(spin_is_locked(&rd->grant_table->lock));
>>> +
>>>      for ( handle = 0; handle < lgt->maptrack_limit; handle++ )
>> 
>> The comment and the use of lgt->maptrack_limit contradict the
>> documentation you add in patch 2, and it indeed is unclear why
>> at this point the local domain's lock (its maptrack lock starting
>> with patch 2) doesn't also need to be held.
> 
> Maybe it's a a bit subtle, but holding the local (write) lock means no
> new mappings can be created and thus lgt->maptrack_limit cannot change.
> 
> Should I add
> 
> ASSERT(spin_is_locked(&lgt->lock));
> 
> here as well?

Yes, that's what I was basically asking about. And the subtlety
should probably be spelled out in a comment.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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