From: Matt Wilson
Instead of protecting the state of a grant table active entry with the
grant table lock, use per active entry locks.
Active entries must be acquired with active_entry_acquire() and
released with active_entry_release() which lock and unlock the entry's
spinlock.
This is the fir
>>> On 22.04.15 at 18:00, wrote:
> @@ -548,11 +542,14 @@ static void mapcount(
>
> for ( handle = 0; handle < lgt->maptrack_limit; handle++ )
> {
> +struct active_grant_entry *act;
const please (wherever possible, to document the intent to not
modify).
> -if ( active_
On 23/04/15 13:42, Jan Beulich wrote:
>
>> @@ -3130,7 +3167,9 @@ grant_table_destroy(
>>
>> if ( t == NULL )
>> return;
>> -
>> +
>> +spin_lock(&t->lock);
>> +
>> for ( i = 0; i < nr_grant_frames(t); i++ )
>> free_xenheap_page(t->shared_raw[i]);
>> xfree(t