lkml.org 
[lkml]   [2008]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] x86: add apic probe for genapic 64bit v2
    On Tue, Jul 22, 2008 at 10:57 AM, Suresh Siddha
    <suresh.b.siddha@intel.com> wrote:
    > 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'.

    before i clean up 32bit, 64bit already used max_physical_apicid to
    check if need to switch to physflat.

    for 32bit, if not switch to bigsmp, cpu with physical apic id >=8 can
    not be started by BSP.

    YH


    \
     
     \ /
      Last update: 2008-07-22 20:07    [W:4.273 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site