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

Re: [Xen-devel] [PATCH v9 07/10] xen: delay allocation of grant table sub structures



On 22/09/17 16:43, Jan Beulich wrote:
>>>> On 22.09.17 at 13:41, <jgross@xxxxxxxx> wrote:
>> Delay the allocation of the grant table sub structures in order to
>> allow modifying parameters needed for sizing of these structures at a
>> per domain basis. Allocate the structures and the table frames only
>> from grant_table_set_limits() (dom0: from grant_table_create()).
> 
> I think this last part is stale now - it's uniformly grant_table_init()
> where this happens.
> 
>> +    if ( d->domain_id == 0 )
>>      {
>> -        if ( (t->shared_raw[i] = alloc_xenheap_page()) == NULL )
>> -            goto no_mem_4;
>> -        clear_page(t->shared_raw[i]);
>> +        grant_write_lock(t);
>> +        ret = grant_table_init(d, t);
>> +        grant_write_unlock(t);
>>      }
> 
> With this and ...
> 
>> @@ -3653,8 +3650,9 @@ int grant_table_set_limits(struct domain *d, unsigned 
>> int grant_frames,
>>  
>>      grant_write_lock(gt);
>>  
>> -    ret = 0;
>> -    /* Set limits, alloc needed arrays. */
>> +    /* Set limits. */
>> +    if ( !gt->active )
>> +        ret = grant_table_init(d, gt);
>>  
>>      grant_write_unlock(gt);
> 
> ... this, wouldn't it be more natural now to acquire and release the
> lock in grant_table_init()?

Right. The test for !gt->active can be dropped, as grant_table_init()
will return -EBUSY in this case anyway.


Juergen

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

 


Rackspace

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