Messages in this thread | | | Date | Tue, 22 Jul 2008 10:57:57 -0700 | From | Suresh Siddha <> | Subject | Re: [PATCH] x86: add apic probe for genapic 64bit v2 |
| |
On Mon, Jul 21, 2008 at 10:08:21PM -0700, Yinghai Lu wrote: > > Index: linux-2.6/arch/x86/kernel/genapic_64.c > =================================================================== > --- linux-2.6.orig/arch/x86/kernel/genapic_64.c > +++ linux-2.6/arch/x86/kernel/genapic_64.c > - genapic = &apic_x2apic_cluster; ...
> - } else > -#ifdef CONFIG_ACPI > - /* > - * Quirk: some x86_64 machines can only use physical APIC mode > - * regardless of how many processors are present (x86_64 ES7000 > - * is an example). > - */ > - if (acpi_gbl_FADT.header.revision > FADT2_REVISION_ID && > - (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL)) > - genapic = &apic_physflat; > - else > -#endif > - > - if (max_physical_apicid < 8) > - genapic = &apic_flat; > - else > - genapic = &apic_physflat; > - > - printk(KERN_INFO "Setting APIC routing to %s\n", genapic->name); > + if (genapic == &apic_flat) { > + if (max_physical_apicid >= 8)
Yinghai, though not directly realted to this probe cleanup, what is this 'max_physical_apicid' doing.
I don't understand the need for this commit.
> commit e0da33646826b66ef933d47ea2fb7a693fd849bf > Author: Yinghai Lu <yhlu.kernel@gmail.com> > Date: Sun Jun 8 18:29:22 2008 -0700 > > x86: introduce max_physical_apicid for bigsmp switching > > a multi-socket test-system with 3 or 4 ioapics, when 4 dualcore cpus or > 2 quadcore cpus installed, needs to switch to bigsmp or physflat. > > CPU apic id is [4,11] instead of [0,7], and we need to check max apic > id instead of cpu numbers.
for logical flat, it really shouldn't matter how large the physical apic id is. In logical flat, OS programs the LDR and the limitation is the number of cpu's which is '8'.
What am I missing here?
thanks, suresh
| |