|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] Re: [Xen-staging] [xen-unstable] Rendezvous selected
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,
Alex
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;
EXPORT_SYMBOL(cpu_online_map);
+#endif
+#ifdef CONFIG_HOTPLUG_CPU
+spinlock_t cpu_add_remove_lock;
#endif
#endif
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()
#ifdef CONFIG_HOTPLUG_CPU
+#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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH] Re: [Xen-staging] [xen-unstable] Rendezvous selected cpus in softirq (stop_machine).,
Alex Williamson <=
|
|
|
|
|