[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH, adjusted] linux: secondary CPU handling adjustments



Add proper attributes and remove a few unused items (I forgot that part
of the necessary changes lived in a different local patch, which is the
reason for the resend).

As usual, written and tested on 2.6.24-rc4 and made apply to the 2.6.18
tree without further testing.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: head-2007-12-11/arch/i386/kernel/time-xen.c
===================================================================
--- head-2007-12-11.orig/arch/i386/kernel/time-xen.c    2007-12-11 
11:17:36.000000000 +0100
+++ head-2007-12-11/arch/i386/kernel/time-xen.c 2007-12-11 11:45:10.000000000 
+0100
@@ -1054,7 +1054,7 @@ void time_resume(void)
 #ifdef CONFIG_SMP
 static char timer_name[NR_CPUS][15];
 
-int local_setup_timer(unsigned int cpu)
+int __cpuinit local_setup_timer(unsigned int cpu)
 {
        int seq, irq;
 
@@ -1085,7 +1085,7 @@ int local_setup_timer(unsigned int cpu)
        return 0;
 }
 
-void local_teardown_timer(unsigned int cpu)
+void __cpuexit local_teardown_timer(unsigned int cpu)
 {
        BUG_ON(cpu == 0);
        unbind_from_irqhandler(per_cpu(timer_irq, cpu), NULL);
Index: head-2007-12-11/drivers/xen/core/smpboot.c
===================================================================
--- head-2007-12-11.orig/drivers/xen/core/smpboot.c     2007-12-11 
11:44:59.000000000 +0100
+++ head-2007-12-11/drivers/xen/core/smpboot.c  2007-12-11 11:45:10.000000000 
+0100
@@ -59,8 +59,6 @@ static char callfunc_name[NR_CPUS][15];
 
 u8 cpu_2_logical_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID };
 
-void *xquad_portio;
-
 cpumask_t cpu_sibling_map[NR_CPUS] __cacheline_aligned;
 cpumask_t cpu_core_map[NR_CPUS] __cacheline_aligned;
 EXPORT_SYMBOL(cpu_core_map);
@@ -113,7 +111,7 @@ remove_siblinginfo(int cpu)
        cpu_data[cpu].booted_cores = 0;
 }
 
-static int xen_smp_intr_init(unsigned int cpu)
+static int __cpuinit xen_smp_intr_init(unsigned int cpu)
 {
        int rc;
 
@@ -165,7 +165,7 @@ static void xen_smp_intr_exit(unsigned i
 }
 #endif
 
-void cpu_bringup(void)
+void __cpuinit cpu_bringup(void)
 {
        cpu_init();
        identify_cpu(cpu_data + smp_processor_id());
@@ -178,13 +178,13 @@ void cpu_bringup(void)
        local_irq_enable();
 }
 
-static void cpu_bringup_and_idle(void)
+static void __cpuinit cpu_bringup_and_idle(void)
 {
        cpu_bringup();
        cpu_idle();
 }
 
-static void cpu_initialize_context(unsigned int cpu)
+static void __cpuinit cpu_initialize_context(unsigned int cpu)
 {
        vcpu_guest_context_t ctxt;
        struct task_struct *idle = idle_task(cpu);
@@ -403,21 +401,9 @@ void __cpu_die(unsigned int cpu)
                alternatives_smp_switch(0);
 }
 
-#else /* !CONFIG_HOTPLUG_CPU */
-
-int __cpu_disable(void)
-{
-       return -ENOSYS;
-}
-
-void __cpu_die(unsigned int cpu)
-{
-       BUG();
-}
-
 #endif /* CONFIG_HOTPLUG_CPU */
 
-int __devinit __cpu_up(unsigned int cpu)
+int __cpuinit __cpu_up(unsigned int cpu)
 {
        int rc;
 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.