From: Alex Williamson <alex.williamson@hp.com>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>,
"Tian, Kevin" <kevin.tian@intel.com>
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: [PATCH] Re: [Xen-staging] [xen-unstable] Rendezvous selected cpus in softirq (stop_machine).
Date: Wed, 13 Feb 2008 10:28:43 -0700 [thread overview]
Message-ID: <1202923723.6816.59.camel@lappy> (raw)
In-Reply-To: <200802111600.m1BG0SW2020616@latara.uk.xensource.com>
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
next parent reply other threads:[~2008-02-13 17:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200802111600.m1BG0SW2020616@latara.uk.xensource.com>
2008-02-13 17:28 ` Alex Williamson [this message]
2008-02-13 17:40 ` [PATCH] Re: [Xen-staging] [xen-unstable] Rendezvous selected cpus in softirq (stop_machine) Keir Fraser
2008-02-13 18:30 ` Keir Fraser
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1202923723.6816.59.camel@lappy \
--to=alex.williamson@hp.com \
--cc=Keir.Fraser@cl.cam.ac.uk \
--cc=kevin.tian@intel.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.