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

Re: [Xen-devel] [PATCH V9 5/7] x86/altp2m: fix display frozen when switching to a new view early



On 11/26/18 2:08 PM, Jan Beulich wrote:
>>>> On 22.11.18 at 12:40, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>> @@ -956,18 +1003,14 @@ int p2m_change_type_one(struct domain *d, unsigned 
>> long gfn_l,
>>  }
>>  
>>  /* Modify the p2m type of a range of gfns from ot to nt. */
>> -void p2m_change_type_range(struct domain *d, 
>> -                           unsigned long start, unsigned long end,
>> -                           p2m_type_t ot, p2m_type_t nt)
>> +static void change_type_range(struct p2m_domain *p2m,
>> +                              unsigned long start, unsigned long end,
>> +                              p2m_type_t ot, p2m_type_t nt)
>>  {
>>      unsigned long gfn = start;
>> -    struct p2m_domain *p2m = p2m_get_hostp2m(d);
>> +    struct domain *d = p2m->domain;
>>      int rc = 0;
>>  
>> -    ASSERT(ot != nt);
>> -    ASSERT(p2m_is_changeable(ot) && p2m_is_changeable(nt));
>> -
>> -    p2m_lock(p2m);
>>      p2m->defer_nested_flush = 1;
> 
> While reviewing the first of George's patches I started wondering
> why you keep this and ...
> 
>> @@ -1011,23 +1054,54 @@ void p2m_change_type_range(struct domain *d,
>>      p2m->defer_nested_flush = 0;
>>      if ( nestedhvm_enabled(d) )
>>          p2m_flush_nestedp2m(d);
> 
> ... this here, such that it would be called multiple times, despite
> p2m_flush_nestedp2m() taking a struct domain, not a struct p2m
> as input.

Good point, I'll use p2m->defer_nested_flush only for the hostp2m (the
only explicit check I see in the code is "&&
!p2m_get_hostp2m(d)->defer_nested_flush ) {" in hap.c) and call
p2m_flush_nestedp2m(d) only in p2m_change_type_range().


Thanks,
Razvan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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