|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [linux] Delay making the VCPUOP_initialis
# HG changeset patch
# User Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
# Date 1170110631 0
# Node ID 5e3b47bcc311e7698959f1fa79c4654190593499
# Parent effa38a30a5c8a53c1568157ce6f664d127b773e
[linux] Delay making the VCPUOP_initialise calls until the cpu is brought up
the first time.
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
---
linux-2.6-xen-sparse/drivers/xen/core/smpboot.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff -r effa38a30a5c -r 5e3b47bcc311
linux-2.6-xen-sparse/drivers/xen/core/smpboot.c
--- a/linux-2.6-xen-sparse/drivers/xen/core/smpboot.c Mon Jan 29 21:16:02
2007 +0000
+++ b/linux-2.6-xen-sparse/drivers/xen/core/smpboot.c Mon Jan 29 22:43:51
2007 +0000
@@ -48,6 +48,7 @@ EXPORT_SYMBOL(cpu_online_map);
EXPORT_SYMBOL(cpu_online_map);
cpumask_t cpu_possible_map;
EXPORT_SYMBOL(cpu_possible_map);
+static cpumask_t cpu_initialized_map;
struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned;
EXPORT_SYMBOL(cpu_data);
@@ -277,6 +278,8 @@ void __init smp_prepare_cpus(unsigned in
if (xen_smp_intr_init(0))
BUG();
+
+ cpu_initialized_map = cpumask_of_cpu(0);
/* Restrict the possible_map according to max_cpus. */
while ((num_possible_cpus() > 1) && (num_possible_cpus() > max_cpus)) {
@@ -330,8 +333,6 @@ void __init smp_prepare_cpus(unsigned in
#else
cpu_set(cpu, cpu_present_map);
#endif
-
- cpu_initialize_context(cpu);
}
init_xenbus_allowed_cpumask();
@@ -418,6 +419,11 @@ int __devinit __cpu_up(unsigned int cpu)
if (rc)
return rc;
+ if (!cpu_isset(cpu, cpu_initialized_map)) {
+ cpu_set(cpu, cpu_initialized_map);
+ cpu_initialize_context(cpu);
+ }
+
if (num_online_cpus() == 1)
alternatives_smp_switch(1);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [linux] Delay making the VCPUOP_initialise calls until the cpu is brought up,
Xen patchbot-unstable <=
|
|
|
|
|