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

Re: [Xen-devel] [PATCH] nestedhvm: reduce IPIs with nested-on-nested



Hi, 

At 12:04 +0200 on 18 Aug (1313669099), Christoph Egger wrote:
> --- a/xen/arch/x86/mm/hap/nested_hap.c        Mon Aug 08 11:36:21 2011 +0200
> +++ b/xen/arch/x86/mm/hap/nested_hap.c        Thu Aug 18 11:54:17 2011 +0200
> @@ -86,8 +86,10 @@ nestedp2m_write_p2m_entry(struct p2m_dom
>  
>      old_flags = l1e_get_flags(*p);
>      safe_write_pte(p, new);
> -    if (old_flags & _PAGE_PRESENT)
> -        nestedhvm_vmcx_flushtlb(p2m);
> +
> +    if ( (old_flags & _PAGE_PRESENT)
> +         && (level == 1 || (level == 2 && (old_flags & _PAGE_PSE))) )
> +            flush_tlb_mask(&p2m->p2m_dirty_cpumask);

I think you need to flush on all levels, since the TLB can contain
partial walks.

>      paging_unlock(d);
>  }

> diff -r ce4768a78051 xen/arch/x86/mm/p2m.c
> --- a/xen/arch/x86/mm/p2m.c   Mon Aug 08 11:36:21 2011 +0200
> +++ b/xen/arch/x86/mm/p2m.c   Thu Aug 18 11:54:17 2011 +0200
> @@ -1164,7 +1164,6 @@ p2m_get_nestedp2m(struct vcpu *v, uint64
>      p2m->cr3 = cr3;
>      nv->nv_flushp2m = 0;
>      hvm_asid_flush_vcpu(v);
> -    nestedhvm_vmcx_flushtlb(p2m);

This is an unrelated fix and should be in a separate patch. 

Cheers,

Tim.

-- 
Tim Deegan <tim@xxxxxxx>
Principal Software Engineer, Xen Platform Team
Citrix Systems UK Ltd.  (Company #02937203, SL9 0BG)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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