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-ia64-devel

Re: the P2M/VP patch merge plan (was Re: [Xen-ia64-devel] [PATCH][RFC][T

To: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Subject: Re: the P2M/VP patch merge plan (was Re: [Xen-ia64-devel] [PATCH][RFC][TAKE5] the P2M/VP patches)
From: Tristan Gingold <Tristan.Gingold@xxxxxxxx>
Date: Tue, 16 May 2006 17:30:17 +0200
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 16 May 2006 08:26:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20060516102358.GD20883%yamahata@xxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20060418141802.GG423%yamahata@xxxxxxxxxxxxx> <200604260949.24697.Tristan.Gingold@xxxxxxxx> <20060516102358.GD20883%yamahata@xxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.5
[...]
> > > The following is what I notice now.
> > >
> > > - pgd_populate(), pud_populate(), pmd_populate()
> > >   What if two cpu try to populate same virtual address?
> > >   Given that page allocation on demand is now removed, it might be
> > > possible to all necessary pgd/pud/pmd/pte page is allocate at domain
> > > creation.
This could be easily fixed.  However there is also no lock in the current Xen, 
so I think the kernel never does that.

> > > - guest_physmap_add_page()
> > >     assign_domain_page_replace()
> > >       ptep_get_and_clear()
> > >                       <<<<<<<<<<<< what if another cpu does set_pte()
> > > here? set_pte()
> > >     set_gpfn_from_mfn()
We should create a ptep_get_and_replace.
Is it enough ?
Since kernel is not supposed to access to pages being replaced, this shouldn't 
happen, should it ?

> > > - memory ordering
> > >   set_pte() doesn't have any memory relase semantics.
> > >   And readers (i.e. *(pte)) doesn't have acquire semantics.
> > >   I guess some memory barrier is required.
> > >   (spin lock means memory barrier)
I have added mp().

Currently, on a tiger 4, Xen crashes during boot with 2 cpus.  I will 
investigate.  There may be other issues...

Tristan.


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