[lkml]   [2007]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: [PATCH 08/10] ia64: Convert cpu_sibling_map to a per_cpu data array (v3)

    I think there is a bug either in this ia64 patch, or in the related
    generic arch patch: Convert cpu_sibling_map to be a per cpu variable

    It dies early in boot on me, on the SGI internal 8 processor IA64
    system that you and I know as 'margin'. The death is a hard hang, due
    to a corrupt stack, due to a bogus cpu index.

    I haven't tracked it down all the way, but have gotten this far. If I add
    the following patch, I get a panic on the BUG_ON if I have these two patches
    in 2.6.23-rc8-mm1, but it boots just fine if I don't have these two patches.

    It seems that the "cpu_sibling_map[cpu]" cpumask_t is empty (all zero
    bits) with your two patches applied, but has some non-zero bits
    otherwise, which leads to 'group' being NR_CPUS instead of a useful CPU
    number. Unfortunately, I have no idea why the "cpu_sibling_map[cpu]"
    cpumask_t is empty -- good luck on that part.

    The patch that catches this bug earlier is this:

    --- 2.6.23-rc8-mm1.orig/kernel/sched.c 2007-09-28 01:42:20.144561024 -0700
    +++ 2.6.23-rc8-mm1/kernel/sched.c 2007-09-28 02:27:14.239075497 -0700
    @@ -5905,6 +5905,7 @@ static int cpu_to_phys_group(int cpu, co
    group = cpu;
    + BUG_ON(group == NR_CPUS);
    if (sg)
    *sg = &per_cpu(sched_group_phys, group);
    return group;

    I won't rest till it's the best ...
    Programmer, Linux Scalability
    Paul Jackson <> 1.925.600.0401
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2007-09-28 11:51    [W:0.028 / U:1.868 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site