* [PATCH] x86: fix section mismatch in LAPIC initialization
@ 2011-01-03 15:03 Jan Beulich
2011-01-03 18:29 ` H. Peter Anvin
0 siblings, 1 reply; 3+ messages in thread
From: Jan Beulich @ 2011-01-03 15:03 UTC (permalink / raw)
To: mingo, tglx, hpa; +Cc: linux-kernel
Doing things conditionally upon spm_processor_id() being zero is
generally a bad idea, as this means CPU 0 cannot be offlined and
brought back online later again. While there may be other places where
this is done, I think adding more of those should be avoided so that
some day SMP really becomes "symmetrical".
Signed-off-by: Jan Beulich <jbeulich@novell.com>
---
arch/x86/include/asm/apic.h | 1 +
arch/x86/kernel/apic/apic.c | 9 +++++++--
arch/x86/kernel/smpboot.c | 4 ++--
3 files changed, 10 insertions(+), 4 deletions(-)
--- 2.6.37-rc8/arch/x86/include/asm/apic.h
+++ 2.6.37-rc8-x86-end-lapic-setup/arch/x86/include/asm/apic.h
@@ -233,6 +233,7 @@ extern void sync_Arb_IDs(void);
extern void init_bsp_APIC(void);
extern void setup_local_APIC(void);
extern void end_local_APIC_setup(void);
+extern void bsp_end_local_APIC_setup(void);
extern void init_apic_mappings(void);
extern void setup_boot_APIC_clock(void);
extern void setup_secondary_APIC_clock(void);
--- 2.6.37-rc8/arch/x86/kernel/apic/apic.c
+++ 2.6.37-rc8-x86-end-lapic-setup/arch/x86/kernel/apic/apic.c
@@ -1389,12 +1389,17 @@ void __cpuinit end_local_APIC_setup(void
setup_apic_nmi_watchdog(NULL);
apic_pm_activate();
+}
+
+void __init bsp_end_local_APIC_setup(void)
+{
+ end_local_APIC_setup();
/*
* Now that local APIC setup is completed for BP, configure the fault
* handling for interrupt remapping.
*/
- if (!smp_processor_id() && intr_remapping_enabled)
+ if (intr_remapping_enabled)
enable_drhd_fault_handling();
}
@@ -1751,7 +1756,7 @@ int __init APIC_init_uniprocessor(void)
enable_IO_APIC();
#endif
- end_local_APIC_setup();
+ bsp_end_local_APIC_setup();
#ifdef CONFIG_X86_IO_APIC
if (smp_found_config && !skip_ioapic_setup && nr_ioapics)
--- 2.6.37-rc8/arch/x86/kernel/smpboot.c
+++ 2.6.37-rc8-x86-end-lapic-setup/arch/x86/kernel/smpboot.c
@@ -1065,7 +1065,7 @@ static int __init smp_sanity_check(unsig
connect_bsp_APIC();
setup_local_APIC();
- end_local_APIC_setup();
+ bsp_end_local_APIC_setup();
return -1;
}
@@ -1142,7 +1142,7 @@ void __init native_smp_prepare_cpus(unsi
if (!skip_ioapic_setup && nr_ioapics)
enable_IO_APIC();
- end_local_APIC_setup();
+ bsp_end_local_APIC_setup();
map_cpu_to_logical_apicid();
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] x86: fix section mismatch in LAPIC initialization
2011-01-03 15:03 [PATCH] x86: fix section mismatch in LAPIC initialization Jan Beulich
@ 2011-01-03 18:29 ` H. Peter Anvin
2011-01-04 8:42 ` Jan Beulich
0 siblings, 1 reply; 3+ messages in thread
From: H. Peter Anvin @ 2011-01-03 18:29 UTC (permalink / raw)
To: Jan Beulich; +Cc: mingo, tglx, linux-kernel
On 01/03/2011 07:03 AM, Jan Beulich wrote:
> Doing things conditionally upon spm_processor_id() being zero is
> generally a bad idea, as this means CPU 0 cannot be offlined and
> brought back online later again. While there may be other places where
> this is done, I think adding more of those should be avoided so that
> some day SMP really becomes "symmetrical".
>
> Signed-off-by: Jan Beulich <jbeulich@novell.com>
The description doesn't really match the subject line...
-hpa
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] x86: fix section mismatch in LAPIC initialization
2011-01-03 18:29 ` H. Peter Anvin
@ 2011-01-04 8:42 ` Jan Beulich
0 siblings, 0 replies; 3+ messages in thread
From: Jan Beulich @ 2011-01-04 8:42 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: mingo, tglx, linux-kernel
>>> On 03.01.11 at 19:29, "H. Peter Anvin" <hpa@zytor.com> wrote:
> On 01/03/2011 07:03 AM, Jan Beulich wrote:
>> Doing things conditionally upon spm_processor_id() being zero is
>> generally a bad idea, as this means CPU 0 cannot be offlined and
>> brought back online later again. While there may be other places where
>> this is done, I think adding more of those should be avoided so that
>> some day SMP really becomes "symmetrical".
>>
>> Signed-off-by: Jan Beulich <jbeulich@novell.com>
>
> The description doesn't really match the subject line...
The subject, imo, doesn't need further explanation. The description
was meant to explain why the function gets broken up rather than
just fiddling with other (called) functions' annotations. Are you
suggesting to drop the description altogether?
Jan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-01-04 8:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-03 15:03 [PATCH] x86: fix section mismatch in LAPIC initialization Jan Beulich
2011-01-03 18:29 ` H. Peter Anvin
2011-01-04 8:42 ` Jan Beulich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox