[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 |