24 Oct, 2007

1 commit


20 Oct, 2007

3 commits

  • Convert cpu_llc_id from a static array sized by NR_CPUS to a per_cpu
    variable. This saves sizeof(cpu_llc_id) * NR unused cpus. Access is
    mostly from startup and CPU HOTPLUG functions.

    Note there's an additional change of the type of cpu_llc_id from int to
    u8 for ARCH i386 to correspond with the same type in ARCH x86_64.

    Signed-off-by: Mike Travis
    Cc: Andi Kleen
    Cc: Christoph Lameter
    Cc: "Siddha, Suresh B"
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Mike Travis
     
  • This patch converts the x86_cpu_to_apicid array to be a per cpu
    variable. This saves sizeof(apicid) * NR unused cpus. Access is mostly
    from startup and CPU HOTPLUG functions.

    MP_processor_info() is one of the functions that require access to the
    x86_cpu_to_apicid array before the per_cpu data area is setup. For this
    case, a pointer to the __initdata array is initialized in setup_arch()
    and removed in smp_prepare_cpus() after the per_cpu data area is
    initialized.

    A second change is included to change the initial array value of ARCH
    i386 from 0xff to BAD_APICID to be consistent with ARCH x86_64.

    Signed-off-by: Mike Travis
    Cc: Andi Kleen
    Cc: Christoph Lameter
    Cc: "Siddha, Suresh B"
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Mike Travis
     
  • This patch defines the missing function smp_call_function_mask() for x86_64,
    this is more or less a cut&paste of i386 function. It removes also some
    duplicate code.

    This function is needed by KVM to execute a function on some CPUs.

    AK: Fixed description
    AK: Moved WARN_ON(irqs_disabled) one level up to not warn in the panic case.
    [ tglx: arch/x86 adaptation ]

    Signed-off-by: Laurent Vivier
    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Laurent Vivier
     

18 Oct, 2007

1 commit

  • Remove the x86_cpu_to_log_apicid array. It is set in
    arch/x86_64/kernel/genapic_flat.c:flat_init_apic_ldr() and
    arch/x86_64/kernel/smpboot.c:do_boot_cpu() but it is never
    referenced.

    [ tglx: arch/x86 adaptation ]

    Signed-off-by: Mike Travis
    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Mike Travis
     

17 Oct, 2007

2 commits

  • Convert cpu_sibling_map from a static array sized by NR_CPUS to a per_cpu
    variable. This saves sizeof(cpumask_t) * NR unused cpus. Access is mostly
    from startup and CPU HOTPLUG functions.

    Signed-off-by: Mike Travis
    Cc: Andi Kleen
    Cc: Christoph Lameter
    Cc: "Siddha, Suresh B"
    Cc: "David S. Miller"
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Travis
     
  • This is from an earlier message from 'Christoph Lameter':

    cpu_core_map is currently an array defined using NR_CPUS. This means that
    we overallocate since we will rarely really use maximum configured cpu.

    If we put the cpu_core_map into the per cpu area then it will be allocated
    for each processor as it comes online.

    This means that the core map cannot be accessed until the per cpu area
    has been allocated. Xen does a weird thing here looping over all processors
    and zeroing the masks that are not yet allocated and that will be zeroed
    when they are allocated. I commented the code out.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Mike Travis
    Cc: Andi Kleen
    Cc: Christoph Lameter
    Cc: "Siddha, Suresh B"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Travis
     

11 Oct, 2007

1 commit