Messages in this thread Patch in this message | | | Subject | Re: [PATCH v8 06/13] x86/apic: Mark the apic_intr_mode extern for sanity check cleanup | From | Dou Liyang <> | Date | Wed, 6 Sep 2017 13:41:26 +0800 |
| |
Hi Baoquan,
At 09/06/2017 01:26 PM, Baoquan He wrote: [...] >>> static void __init smp_cpu_index_default(void) >>> @@ -1335,19 +1295,20 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) >> >> Please also cleanup the passed in max_cpus since it's not used here any >> more. And up to the caller: > > Oops, I just checked x86 code, other arch also have this hook. Please > ingore this comment. >
Yes, you are right.
As I also found the comments for native_smp_prepare_cpus() is out of date. I will update the comment and explain it like:
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 4f63afc..9f8479c 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1260,8 +1260,10 @@ static void __init smp_get_logical_apicid(void) }
/* - * Prepare for SMP bootup. The MP table or ACPI has been read - * earlier. Just do some sanity checking here and enable APIC mode. + * Prepare for SMP bootup. + * + * @max_cpus: configured maximum number of CPUs + * It don't be used, but other arch also have this hook, so keep it. */ void __init native_smp_prepare_cpus(unsigned int max_cpus) { Thanks, dou. >> >> static noinline void __init kernel_init_freeable(void) >> { >> ... >> smp_prepare_cpus(setup_max_cpus); >> ... >> } >> >>> >>> apic_intr_mode_init(); >>> >>> - switch (smp_sanity_check(max_cpus)) { >>> - case SMP_NO_CONFIG: >>> - disable_smp(); >>> - return; >>> - case SMP_NO_APIC: >>> + smp_sanity_check(); >>> + >>> + switch (apic_intr_mode) { >>> + case APIC_PIC: >>> + case APIC_VIRTUAL_WIRE_NO_CONFIG: >>> disable_smp(); >>> return; >>> - case SMP_FORCE_UP: >>> + case APIC_SYMMETRIC_IO_NO_ROUTING: >>> disable_smp(); >>> /* Setup local timer */ >>> x86_init.timers.setup_percpu_clockev(); >>> return; >>> - case SMP_OK: >>> + case APIC_VIRTUAL_WIRE: >>> + case APIC_SYMMETRIC_IO: >>> break; >>> } >>> >>> -- >>> 2.5.5 >>> >>> >>> > > >
| |