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/
Home Products Support Community News


[Xen-devel] [PATCH] Re: [Xen-staging] [xen-unstable] Rendezvous selected

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>, "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Subject: [Xen-devel] [PATCH] Re: [Xen-staging] [xen-unstable] Rendezvous selected cpus in softirq (stop_machine).
From: Alex Williamson <alex.williamson@xxxxxx>
Date: Wed, 13 Feb 2008 10:28:43 -0700
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 13 Feb 2008 09:29:09 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200802111600.m1BG0SW2020616@xxxxxxxxxxxxxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: OSLO R&D
References: <200802111600.m1BG0SW2020616@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Mon, 2008-02-11 at 16:00 +0000, Xen staging patchbot-unstable wrote:
> # HG changeset patch
> # User Keir Fraser 
> # Date 1202745589 0
> # Node ID 2a3111016f88c22cbf1f24ca31b7f9ecf7a71e15
> # Parent  7b0c0ab0566bbf241620db3fc94e791528a4503c
> Rendezvous selected cpus in softirq (stop_machine).
> This is similar to stop_machine_run stub from Linux, to pull
> selected cpus in rendezvous point and the do some batch work
> under a safe environment. Current one usage is from S3 path,
> where individual cpu is pulled down with related online
> footprints being cleared. It's dangerous to have other cpus
> checking clobbered data structure in the middle, such as
> cpu_online_map, cpu_sibling_map, etc.

   This needs some minor fixes to build on ia64.  We don't fully support
CPU hotplug on Xen/ia64 yet, but we do define CONFIG_HOTPLUG_CPU for
kexec.  The patch below fixes the build issue and adds
cpu_add_remove_lock with the expectation that we'll make use of it at
some point.  Thanks,


Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>

diff -r 5e1df44d406e xen/arch/ia64/linux-xen/smpboot.c
--- a/xen/arch/ia64/linux-xen/smpboot.c Wed Feb 13 14:03:58 2008 +0000
+++ b/xen/arch/ia64/linux-xen/smpboot.c Wed Feb 13 10:21:08 2008 -0700
@@ -67,6 +67,9 @@
 #ifndef CONFIG_SMP
 cpumask_t cpu_online_map = CPU_MASK_CPU0;
+spinlock_t cpu_add_remove_lock;
diff -r 5e1df44d406e xen/common/stop_machine.c
--- a/xen/common/stop_machine.c Wed Feb 13 14:03:58 2008 +0000
+++ b/xen/common/stop_machine.c Wed Feb 13 10:21:09 2008 -0700
@@ -25,6 +25,7 @@
 #include <xen/spinlock.h>
 #include <asm/smp.h>
 #include <asm/current.h>
+#include <xen/sched.h>
 #include <xen/softirq.h>
 #include <asm/processor.h>
 #include <xen/errno.h>
diff -r 5e1df44d406e xen/include/xen/smp.h
--- a/xen/include/xen/smp.h     Wed Feb 13 14:03:58 2008 +0000
+++ b/xen/include/xen/smp.h     Wed Feb 13 10:21:09 2008 -0700
@@ -113,6 +113,7 @@ static inline int on_each_cpu(
 #define smp_processor_id() raw_smp_processor_id()
+#include <xen/spinlock.h>
 extern spinlock_t cpu_add_remove_lock;
  * FIXME: need a better lock mechanism when real cpu hotplug is later

Xen-devel mailing list

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