* [PATCH] x86,apic: Checking kernel option before detect_init_APIC()
@ 2009-03-28 1:25 Rakib Mullick
2009-04-08 14:50 ` Ingo Molnar
0 siblings, 1 reply; 4+ messages in thread
From: Rakib Mullick @ 2009-03-28 1:25 UTC (permalink / raw)
To: LKML; +Cc: Andrew Morton, Ingo Molnar
Impact: cleanup
Before calling detect_init_APIC(), check whether apic is disabled from
kernel option or not.
Thanks.
Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com>
--- linus/arch/x86/kernel/apic.c 2009-03-26 06:26:31.000000000 +0600
+++ rakib/arch/x86/kernel/apic.c 2009-03-26 20:47:50.116376200 +0600
@@ -1429,10 +1429,6 @@ static int __init detect_init_APIC(void)
{
u32 h, l, features;
- /* Disabled by kernel option? */
- if (disable_apic)
- return -1;
-
switch (boot_cpu_data.x86_vendor) {
case X86_VENDOR_AMD:
if ((boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model > 1) ||
@@ -1543,8 +1539,9 @@ void __init init_apic_mappings(void)
* If no local APIC can be found then set up a fake all
* zeroes page to simulate the local APIC and another
* one for the IO-APIC.
+ * Check apic is disabled from kernel option or not.
*/
- if (!smp_found_config && detect_init_APIC()) {
+ if (!smp_found_config && (disable_apic || detect_init_APIC())) {
apic_phys = (unsigned long) alloc_bootmem_pages(PAGE_SIZE);
apic_phys = __pa(apic_phys);
} else
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] x86,apic: Checking kernel option before detect_init_APIC()
2009-03-28 1:25 [PATCH] x86,apic: Checking kernel option before detect_init_APIC() Rakib Mullick
@ 2009-04-08 14:50 ` Ingo Molnar
2009-04-09 5:08 ` Rakib Mullick
0 siblings, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2009-04-08 14:50 UTC (permalink / raw)
To: Rakib Mullick, Cyrill Gorcunov, Thomas Gleixner, H. Peter Anvin
Cc: LKML, Andrew Morton
* Rakib Mullick <rakib.mullick@gmail.com> wrote:
> Impact: cleanup
>
> Before calling detect_init_APIC(), check whether apic is disabled
> from kernel option or not.
>
> Thanks.
>
> Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com>
>
> --- linus/arch/x86/kernel/apic.c 2009-03-26 06:26:31.000000000 +0600
> +++ rakib/arch/x86/kernel/apic.c 2009-03-26 20:47:50.116376200 +0600
> @@ -1429,10 +1429,6 @@ static int __init detect_init_APIC(void)
> {
> u32 h, l, features;
>
> - /* Disabled by kernel option? */
> - if (disable_apic)
> - return -1;
> -
> switch (boot_cpu_data.x86_vendor) {
> case X86_VENDOR_AMD:
> if ((boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model > 1) ||
> @@ -1543,8 +1539,9 @@ void __init init_apic_mappings(void)
> * If no local APIC can be found then set up a fake all
> * zeroes page to simulate the local APIC and another
> * one for the IO-APIC.
> + * Check apic is disabled from kernel option or not.
> */
> - if (!smp_found_config && detect_init_APIC()) {
> + if (!smp_found_config && (disable_apic || detect_init_APIC())) {
> apic_phys = (unsigned long) alloc_bootmem_pages(PAGE_SIZE);
> apic_phys = __pa(apic_phys);
> } else
Hm, are you sure this is a cleanup only? (i.e. no side-effects)
Also, even if it's a pure cleanup, wouldnt it be even cleaner to
propagate this check into detect_init_APIC() - and thus get rid of
the open-coded disable_apic check altogether?
Ingo
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] x86,apic: Checking kernel option before detect_init_APIC()
2009-04-08 14:50 ` Ingo Molnar
@ 2009-04-09 5:08 ` Rakib Mullick
2009-04-09 20:00 ` Cyrill Gorcunov
0 siblings, 1 reply; 4+ messages in thread
From: Rakib Mullick @ 2009-04-09 5:08 UTC (permalink / raw)
To: Ingo Molnar
Cc: Cyrill Gorcunov, Thomas Gleixner, H. Peter Anvin, LKML, Andrew Morton
On Wed, Apr 8, 2009 at 8:50 PM, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Rakib Mullick <rakib.mullick@gmail.com> wrote:
>
> Hm, are you sure this is a cleanup only? (i.e. no side-effects)
My quick review over code, i don't think there's any.Unless I'm not
missing anything. Kernel option has been passed when before kernel
starts, so I think it's safe.
>
> Also, even if it's a pure cleanup, wouldnt it be even cleaner to
> propagate this check into detect_init_APIC() - and thus get rid of
> the open-coded disable_apic check altogether?
Yes, could be. How we'll understand that whether apic has been
disabled from kernel option or not (if we requires later on)?
Rakib
>
> Ingo
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] x86,apic: Checking kernel option before detect_init_APIC()
2009-04-09 5:08 ` Rakib Mullick
@ 2009-04-09 20:00 ` Cyrill Gorcunov
0 siblings, 0 replies; 4+ messages in thread
From: Cyrill Gorcunov @ 2009-04-09 20:00 UTC (permalink / raw)
To: Rakib Mullick
Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, LKML, Andrew Morton
[Rakib Mullick - Thu, Apr 09, 2009 at 11:08:43AM +0600]
| On Wed, Apr 8, 2009 at 8:50 PM, Ingo Molnar <mingo@elte.hu> wrote:
| >
| > * Rakib Mullick <rakib.mullick@gmail.com> wrote:
| >
| > Hm, are you sure this is a cleanup only? (i.e. no side-effects)
| My quick review over code, i don't think there's any.Unless I'm not
| missing anything. Kernel option has been passed when before kernel
| starts, so I think it's safe.
Hi Rakib,
yes, disable_apic early parameter handled earlier then
init_apic_mappings is being called but we could reach
disable_apic=1 with not only as kernel option but as
result of acpi_mps_check for example (which
is called earlier then init_apic_mappings though).
So this snippet is safe I believe.
| >
| > Also, even if it's a pure cleanup, wouldnt it be even cleaner to
| > propagate this check into detect_init_APIC() - and thus get rid of
| > the open-coded disable_apic check altogether?
In point! We do same fasion check in APIC_init_uniprocessor
| Yes, could be. How we'll understand that whether apic has been
| disabled from kernel option or not (if we requires later on)?
AFAIS, as only we set disable_apic=1 from kernel option (or other
ways) we clear X86_FEATURE_APIC likewise. So I don't see easy way
to distinguish the reason why apic is disabled. But to be precise
APIC_init_uniprocessor print us some info.
So I'm for Ingo's idea!
|
| Rakib
| >
| > Ingo
| >
|
Cyrill
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-04-09 20:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-28 1:25 [PATCH] x86,apic: Checking kernel option before detect_init_APIC() Rakib Mullick
2009-04-08 14:50 ` Ingo Molnar
2009-04-09 5:08 ` Rakib Mullick
2009-04-09 20:00 ` Cyrill Gorcunov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).