[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: the P2M/VP patch merge plan (was Re: [Xen-ia64-devel] [PATCH][RFC][TAKE5] the P2M/VP patches)
[...] > > > 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |