Re: [PATCH] Use x2apic_supported() in the default_apic_id_valid() function.

From: Yinghai Lu
Date: Fri Mar 16 2012 - 00:20:14 EST


On Thu, Mar 15, 2012 at 7:08 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>> 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.

after more thinking, I think We should still use cpu_has_x2apic checking.

one maybe invalid case:

System have some cpus apic id < 255, and some cpu apic id > 255.
BSP apic id < 255.
those cpus apic id < 255 will be put into xapic mode, cpus > 255 will
be put into x2apic mode.
and DMAR table intr-remapping will be working.

So if we check x2apic_mode early, will skip cpu with apic id > 255,
even switch to x2apic later.

Thanks

Yinghai Lu
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/