diff options
author | Keir Fraser <keir@xensource.com> | 2007-05-07 13:58:42 +0100 |
---|---|---|
committer | Keir Fraser <keir@xensource.com> | 2007-05-07 13:58:42 +0100 |
commit | 21bff006dad730c0b27239b55ef5aca6b0ddb655 (patch) | |
tree | 5b53d24c37e965774d8da52a1e80d54ca595349c | |
parent | 52fbe1b9749c2f5b2c964b74b19545551d1e5e9b (diff) | |
download | xen-21bff006dad730c0b27239b55ef5aca6b0ddb655.tar.gz xen-21bff006dad730c0b27239b55ef5aca6b0ddb655.tar.bz2 xen-21bff006dad730c0b27239b55ef5aca6b0ddb655.zip |
ia64, linux: Import linux git changeset 5ee7737379b1d7f0c977c0f1661fbaf01a8d4721
Without this, IA64 vcpu hot plug/remove or domain save/restore cause
kernel panic.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
-rw-r--r-- | patches/linux-2.6.18/git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch | 28 | ||||
-rw-r--r-- | patches/linux-2.6.18/series | 1 |
2 files changed, 29 insertions, 0 deletions
diff --git a/patches/linux-2.6.18/git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch b/patches/linux-2.6.18/git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch new file mode 100644 index 0000000000..4d5169af2f --- /dev/null +++ b/patches/linux-2.6.18/git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch @@ -0,0 +1,28 @@ +--- ./arch/ia64/kernel/smp.c.orig 2007-05-02 19:00:01.000000000 +0900 ++++ ./arch/ia64/kernel/smp.c 2007-05-02 19:04:32.000000000 +0900 +@@ -328,10 +328,14 @@ int + smp_call_function (void (*func) (void *info), void *info, int nonatomic, int wait) + { + struct call_data_struct data; +- int cpus = num_online_cpus()-1; ++ int cpus; + +- if (!cpus) ++ spin_lock(&call_lock); ++ cpus = num_online_cpus()-1; ++ if (!cpus) { ++ spin_unlock(&call_lock); + return 0; ++ } + + /* Can deadlock when called with interrupts disabled */ + WARN_ON(irqs_disabled()); +@@ -343,8 +347,6 @@ smp_call_function (void (*func) (void *i + if (wait) + atomic_set(&data.finished, 0); + +- spin_lock(&call_lock); +- + call_data = &data; + mb(); /* ensure store to call_data precedes setting of IPI_CALL_FUNC */ + send_IPI_allbutself(IPI_CALL_FUNC); diff --git a/patches/linux-2.6.18/series b/patches/linux-2.6.18/series index a3597cd5a0..1362cfca48 100644 --- a/patches/linux-2.6.18/series +++ b/patches/linux-2.6.18/series @@ -21,3 +21,4 @@ git-c06cb8b1c4d25e5b4d7a2d7c2462619de1e0dbc4.patch softlockup-no-idle-hz.patch allow-i386-crash-kernels-to-handle-x86_64-dumps.patch allow-i386-crash-kernels-to-handle-x86_64-dumps-fix.patch +git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch |