> From: Jan Beulich <[email protected]> > Sent: Wednesday, December 1, 2021 12:11 AM > > ept_free_entry() gets called after a flush - if one is necessary in the > first place - was already issued. That behavior is similar to NPT, which > also doesn't have any further flush in p2m_free_entry(). (Furthermore, > the function being recursive, in case of recursiveness way too many > flushes would have been issued.) > > Signed-off-by: Jan Beulich <[email protected]>
Reviewed-by: Kevin Tian <[email protected]> > > --- a/xen/arch/x86/mm/p2m-ept.c > +++ b/xen/arch/x86/mm/p2m-ept.c > @@ -246,8 +246,7 @@ static void ept_free_entry(struct p2m_do > ept_free_entry(p2m, epte + i, level - 1); > unmap_domain_page(epte); > } > - > - p2m_tlb_flush_sync(p2m); > + > p2m_free_ptp(p2m, mfn_to_page(_mfn(ept_entry->mfn))); > } >
