[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH=v3 4/8] xen: arm: Use SMP barriers when that is all which is required.
SMP barriers can be used when all we care about is synchronising against other processors. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Tim Deegan <tim@xxxxxxx> --- v2: Turn cpu_die mb()s into smp_mb()s. --- xen/arch/arm/mm.c | 2 +- xen/arch/arm/smpboot.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index b7360b6..e9b3f34 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -963,7 +963,7 @@ void share_xen_page_with_guest(struct page_info *page, page->u.inuse.type_info |= PGT_validated | 1; page_set_owner(page, d); - wmb(); /* install valid domain ptr before updating refcnt. */ + smp_wmb(); /* install valid domain ptr before updating refcnt. */ ASSERT((page->count_info & ~PGC_xen_heap) == 0); /* Only add to the allocation list if the domain isn't dying. */ diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c index a829957..ce68d34 100644 --- a/xen/arch/arm/smpboot.c +++ b/xen/arch/arm/smpboot.c @@ -298,12 +298,12 @@ void __cpuinit start_secondary(unsigned long boot_phys_offset, /* Run local notifiers */ notify_cpu_starting(cpuid); - wmb(); + smp_wmb(); /* Now report this CPU is up */ smp_up_cpu = MPIDR_INVALID; cpumask_set_cpu(cpuid, &cpu_online_map); - wmb(); + smp_wmb(); local_irq_enable(); local_abort_enable(); @@ -330,7 +330,7 @@ void __cpu_disable(void) if ( cpu_disable_scheduler(cpu) ) BUG(); - mb(); + smp_mb(); /* Return to caller; eventually the IPI mechanism will unwind and the * scheduler will drop to the idle loop, which will call stop_cpu(). */ @@ -411,10 +411,10 @@ void __cpu_die(unsigned int cpu) process_pending_softirqs(); if ( (++i % 10) == 0 ) printk(KERN_ERR "CPU %u still not dead...\n", cpu); - mb(); + smp_mb(); } cpu_is_dead = 0; - mb(); + smp_mb(); } /* -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |