Messages in this thread | | | Date | Thu, 15 Mar 2012 19:08:32 -0700 | Subject | Re: [PATCH] Use x2apic_supported() in the default_apic_id_valid() function. | From | Yinghai Lu <> |
| |
On Thu, Mar 15, 2012 at 2:21 PM, Suresh Siddha <suresh.b.siddha@intel.com> wrote: > On Thu, 2012-03-15 at 13:23 -0700, Yinghai Lu wrote: >> On Thu, Mar 15, 2012 at 11:03 AM, Steffen Persvold <sp@numascale.com> wrote: >> > Use x2apic_supported() in the default_apic_id_valid() function. If x2apic mode is disabled (via nox2apic for example), x2apic_supported() will return false. >> > >> > This allows us to substitute the check in arch/x86/kernel/acpi/boot.c::acpi_parse_x2apic and avoid feigning the x2apic cpu feature in the NumaChip apic code. >> > >> > Signed-off-by: Steffen Persvold <sp@numascale.com> >> > Reviewed-by: Daniel J Blueman <daniel@numascale-asia.com> >> >> I double checked on system with x2apic preenabled, >> nox2apic in boot command line still works well and it >> skips starting APs with apic id > 255. >> >> Acked-by: Yinghai Lu <yinghai@kernel.org> > > This breaks the smpboot check if enabling interrupt-remapping/x2apic > fails on a platform. We will be in xapic mode and we don't clear the > x2apic cpufeature bit in this case and as such smpboot check will fail.
two cases: A: x2apic is pre-enabled, and some apic id > 255 B: x2apic is not pre-enabled, but x2apic capable, suppose all apic id < 255.
in case A: if nox2apic is passed, or dmar table is not there or intr-remap can not be enabled. that feature bit will be cleared. So check cpu_has_x2apic is enough there.
in case B: if can not enable x2apic, the feature is not cleared, but apic id already < 255. so that check will pass too.
So it should not break the smpboot check.
> > So this change breaks the commit > c284b42abadbb22083bfde24d308899c08d44ffa. > > I think the right thing is to have two different apid_id_valid checks > one for xapic driver (apic_flat_64.c) and another for x2apic driver > (x2apic_phys/cluster.c) and that way, x2apic MADT entries will be parsed > only if bios has handed over the OS in x2apic mode or if we have > selected the numachip model.
that looks like more clear.
Thanks
Yinghai
| |