|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
Re: the P2M/VP patch merge plan (was Re: [Xen-ia64-devel] [PATCH][RFC][T
[...]
> > > 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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Re: the P2M/VP patch merge plan (was Re: [Xen-ia64-devel] [PATCH][RFC][TAKE5] the P2M/VP patches),
Tristan Gingold <=
|
|
|
|
|