WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [xen-unstable test] 9593: regressions - trouble: broken/

To: xen.org <ian.jackson@xxxxxxxxxxxxx>, Tim Deegan <tim@xxxxxxx>, "Keir Fraser" <keir@xxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>
Subject: Re: [Xen-devel] [xen-unstable test] 9593: regressions - trouble: broken/fail/pass
From: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Date: Tue, 25 Oct 2011 09:23:06 +0100
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 25 Oct 2011 01:23:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <osstest-9593-mainreport@xxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
References: <osstest-9593-mainreport@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
This doesn't appear to be a quirk of the test systems log generation,
the patch appears to have ended up in the changelog. There is some stuff
actually applied too so perhaps it is ok but someone who knows what was
supposed to be in there should probably double check!

 On Mon, 2011-10-24 at 20:40 +0100, xen.org wrote:
> 
> 
> changeset:   23987:2682094bc243
> user:        Jan Beulich <jbeulich@xxxxxxxx>
> date:        Fri Oct 21 09:42:47 2011 +0200
> 
>     x86/p2m: allocate CPU masks dynamically
> 
>     Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>     Acked-by: Tim Deegan <tim@xxxxxxx>
>     Acked-by: Keir Fraser <keir@xxxxxxx>
> 
>     --- 2011-10-18.orig/xen/arch/x86/hvm/nestedhvm.c    2011-10-11
> 17:24:46.000000000 +0200
>     +++ 2011-10-18/xen/arch/x86/hvm/nestedhvm.c 2011-10-18
> 16:45:02.000000000 +0200
>     @@ -114,9 +114,9 @@ nestedhvm_flushtlb_ipi(void *info)
>      void
>      nestedhvm_vmcx_flushtlb(struct p2m_domain *p2m)
>      {
>     -    on_selected_cpus(&p2m->p2m_dirty_cpumask,
> nestedhvm_flushtlb_ipi,
>     +    on_selected_cpus(p2m->dirty_cpumask, nestedhvm_flushtlb_ipi,
>              p2m->domain, 1);
>     -    cpumask_clear(&p2m->p2m_dirty_cpumask);
>     +    cpumask_clear(p2m->dirty_cpumask);
>      }
> 
>      bool_t
>     --- 2011-10-18.orig/xen/arch/x86/mm/hap/nested_hap.c
> 2011-10-21 09:24:51.000000000 +0200
>     +++ 2011-10-18/xen/arch/x86/mm/hap/nested_hap.c     2011-10-18
> 16:44:35.000000000 +0200
>     @@ -88,7 +88,7 @@ nestedp2m_write_p2m_entry(struct p2m_dom
>          safe_write_pte(p, new);
> 
>          if (old_flags & _PAGE_PRESENT)
>     -        flush_tlb_mask(&p2m->p2m_dirty_cpumask);
>     +        flush_tlb_mask(p2m->dirty_cpumask);
> 
>          paging_unlock(d);
>      }
>     --- 2011-10-18.orig/xen/arch/x86/mm/p2m.c   2011-10-14
> 09:47:46.000000000 +0200
>     +++ 2011-10-18/xen/arch/x86/mm/p2m.c        2011-10-21
> 09:28:33.000000000 +0200
>     @@ -81,7 +81,6 @@ static void p2m_initialise(struct domain
>          p2m->default_access = p2m_access_rwx;
> 
>          p2m->cr3 = CR3_EADDR;
>     -    cpumask_clear(&p2m->p2m_dirty_cpumask);
> 
>          if ( hap_enabled(d) && (boot_cpu_data.x86_vendor ==
> X86_VENDOR_INTEL) )
>              ept_p2m_init(p2m);
>     @@ -102,6 +101,8 @@ p2m_init_nestedp2m(struct domain *d)
>              d->arch.nested_p2m[i] = p2m = xzalloc(struct p2m_domain);
>              if (p2m == NULL)
>                  return -ENOMEM;
>     +        if ( !zalloc_cpumask_var(&p2m->dirty_cpumask) )
>     +            return -ENOMEM;
>              p2m_initialise(d, p2m);
>              p2m->write_p2m_entry = nestedp2m_write_p2m_entry;
>              list_add(&p2m->np2m_list,
> &p2m_get_hostp2m(d)->np2m_list);
>     @@ -118,6 +119,11 @@ int p2m_init(struct domain *d)
>          p2m_get_hostp2m(d) = p2m = xzalloc(struct p2m_domain);
>          if ( p2m == NULL )
>              return -ENOMEM;
>     +    if ( !zalloc_cpumask_var(&p2m->dirty_cpumask) )
>     +    {
>     +        xfree(p2m);
>     +        return -ENOMEM;
>     +    }
>          p2m_initialise(d, p2m);
> 
>          /* Must initialise nestedp2m unconditionally
>     @@ -333,6 +339,9 @@ static void p2m_teardown_nestedp2m(struc
>          uint8_t i;
> 
>          for (i = 0; i < MAX_NESTEDP2M; i++) {
>     +        if ( !d->arch.nested_p2m[i] )
>     +            continue;
>     +        free_cpumask_var(d->arch.nested_p2m[i]->dirty_cpumask);
>              xfree(d->arch.nested_p2m[i]);
>              d->arch.nested_p2m[i] = NULL;
>          }
>     @@ -341,8 +350,12 @@ static void p2m_teardown_nestedp2m(struc
>      void p2m_final_teardown(struct domain *d)
>      {
>          /* Iterate over all p2m tables per domain */
>     -    xfree(d->arch.p2m);
>     -    d->arch.p2m = NULL;
>     +    if ( d->arch.p2m )
>     +    {
>     +        free_cpumask_var(d->arch.p2m->dirty_cpumask);
>     +        xfree(d->arch.p2m);
>     +        d->arch.p2m = NULL;
>     +    }
> 
>          /* We must teardown unconditionally because
>           * we initialise them unconditionally.
>     @@ -1200,7 +1213,7 @@ p2m_get_nestedp2m(struct vcpu *v, uint64
>                  if (p2m->cr3 == CR3_EADDR)
>                      hvm_asid_flush_vcpu(v);
>                  p2m->cr3 = cr3;
>     -            cpu_set(v->processor, p2m->p2m_dirty_cpumask);
>     +            cpumask_set_cpu(v->processor, p2m->dirty_cpumask);
>                  p2m_unlock(p2m);
>                  nestedp2m_unlock(d);
>                  return p2m;
>     @@ -1217,7 +1230,7 @@ p2m_get_nestedp2m(struct vcpu *v, uint64
>          p2m->cr3 = cr3;
>          nv->nv_flushp2m = 0;
>          hvm_asid_flush_vcpu(v);
>     -    cpu_set(v->processor, p2m->p2m_dirty_cpumask);
>     +    cpumask_set_cpu(v->processor, p2m->dirty_cpumask);
>          p2m_unlock(p2m);
>          nestedp2m_unlock(d);
> 
>     --- 2011-10-18.orig/xen/include/asm-x86/p2m.h       2011-10-21
> 09:24:51.000000000 +0200
>     +++ 2011-10-18/xen/include/asm-x86/p2m.h    2011-10-18
> 16:39:34.000000000 +0200
>     @@ -198,7 +198,7 @@ struct p2m_domain {
>           * this p2m and those physical cpus whose vcpu's are in
>           * guestmode.
>           */
>     -    cpumask_t          p2m_dirty_cpumask;
>     +    cpumask_var_t      dirty_cpumask;
> 
>          struct domain     *domain;   /* back pointer to domain */
> 
> 
> 


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

<Prev in Thread] Current Thread [Next in Thread>