Alex Williamson
2008-Feb-13 17:28 UTC
[Xen-devel] [PATCH] Re: [Xen-staging] [xen-unstable] Rendezvous selected cpus in softirq (stop_machine).
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@hp.com> -- 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@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2008-Feb-13 17:40 UTC
[Xen-devel] Re: [PATCH] Re: [Xen-staging] [xen-unstable] Rendezvous selected cpus in softirq (stop_machine).
On 13/2/08 17:28, "Alex Williamson" <alex.williamson@hp.com> wrote:> 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,I''ll apply a variant of this, probably tomorrow. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2008-Feb-13 18:30 UTC
[Xen-devel] Re: [PATCH] Re: [Xen-staging] [xen-unstable] Rendezvous selected cpus in softirq (stop_machine).
On 13/2/08 17:28, "Alex Williamson" <alex.williamson@hp.com> wrote:> 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,An alternative fix (and cleanup) is applied as changeset 17042. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel