Messages in this thread | | | Date | Fri, 16 Mar 2012 07:56:23 +0100 | From | Steffen Persvold <> | Subject | Re: [PATCH] Use x2apic_supported() in the default_apic_id_valid() function. |
| |
On 3/16/2012 05:19, Yinghai Lu wrote: > On Thu, Mar 15, 2012 at 7:08 PM, Yinghai Lu<yinghai@kernel.org> 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.
Hmm, I didn't know you could have two apic drivers (e.g. apic_flat_64 and x2apic_*) available at the same time ? Or did I read the above wrong ?
> > So if we check x2apic_mode early, will skip cpu with apic id> 255, > even switch to x2apic later. >
Which one of the two patches I sent, do you (Suresh/Yinghai/others) believe is the best/cleanest and works in all cases. I, unfortunately, can't test the Intel case as I don't have any available to test on :/
Either patch works fine for NumaChip enabled systems.
If desired I will re-post the patch with the approach you find best, but add the apic->apic_id_valid() check in the SRAT code aswell.
Cheers, -- Steffen Persvold, Chief Architect NumaChip Numascale AS - www.numascale.com Tel: +47 92 49 25 54 Skype: spersvold
| |