|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |