2.6.31-git5 kernel boot hangs on powerpc

Sachin Sant sachinp at in.ibm.com
Sat Sep 19 18:54:15 EST 2009


Sachin Sant wrote:
> Tejun Heo wrote:
>> Ah... sorry about that.  Sachin, is it possible for you to build the
>> kernel with debug info and ask gdb where the stalling NIP is in the c
>> file?
>>   
> <6>NET: Registered protocol family 10
> <3>BUG: soft lockup - CPU#2 stuck for 61s! [modprobe:1865]
> <4>Modules linked in: ipv6(+) fuse loop dm_mod sg sd_mod crc_t10dif 
> ibmvscsic scsi_transport_srp scsi_tgt scsi_mod
> <4>NIP: c00000000004198c LR: c00000000015dac8 CTR: 0000000000000040
> <4>REGS: c0000000fbdbb6f0 TRAP: 0901   Not tainted  (2.6.31-git5)
> <4>MSR: 8000000000009032 <EE,ME,IR,DR>  CR: 44224420  XER: 20000001
> <4>TASK = c0000000fbd57840[1865] 'modprobe' THREAD: c0000000fbdb8000 
> CPU: 2
> <4>GPR00: 0000000000000040 c0000000fbdbb970 c000000000a96d08 
> d00007fffff00000
> <4>GPR04: 0000000000000000 0000000000000000 d00007fffff00000 
> d00007fffff00000
> <4>GPR08: 0000000000000000 c000000001020180 c000000000b6b4e8 
> 00000000000003c0
> <4>GPR12: 0000000048224428 c000000000b82a00
> <4>NIP [c00000000004198c] .memset+0x60/0xfc
> <4>LR [c00000000015dac8] .pcpu_alloc+0x758/0x960
> <4>Call Trace:
> <4>[c0000000fbdbb970] [c00000000015da58] .pcpu_alloc+0x6e8/0x960 
> (unreliable)
> <4>[c0000000fbdbba90] [c000000000565664] .snmp_mib_init+0x34/0x9c
> <4>[c0000000fbdbbb20] [d00000000212e130] .ipv6_add_dev+0x1cc/0x3dc [ipv6]
> <4>[c0000000fbdbbbc0] [d0000000021598ac] .addrconf_init+0x6c/0x194 [ipv6]
> <4>[c0000000fbdbbc50] [d00000000215967c] .inet6_init+0x1bc/0x34c [ipv6]
> <4>[c0000000fbdbbce0] [c0000000000097a4] .do_one_initcall+0x88/0x1bc
> <4>[c0000000fbdbbd90] [c0000000000c84dc] .SyS_init_module+0x11c/0x29c
> <4>[c0000000fbdbbe30] [c0000000000085b4] syscall_exit+0x0/0x40
> <4>Instruction dump:
> <4>98860000 38c60001 409e000c b0860000 38c60002 409d000c 90860000 
> 38c60004
> <4>78a0d183 78a506a0 7c0903a6 4182002c <f8860000> f8860008 f8860010 
> f8860018
Latest git (2.6.31-git9:78f28b7c555359c67c2a0d23f7436e915329421e)
still has this bug. 

Thanks
-Sachin

> 2:mon> r
> R00 = 0000000000000040   R07 = d00007fffff00000
> R01 = c0000000fbdbb970   R08 = 0000000000000000
> R02 = c000000000a96d08   R09 = c000000001020180
> R03 = d00007fffff00000   R10 = c000000000b6b4e8
> R04 = 0000000000000000   R11 = 00000000000003c0
> R05 = 0000000000000000   R12 = 0000000048224428
> R06 = d00007fffff00000   R13 = c000000000b82a00
> pc  = c00000000004198c .memset+0x60/0xfc
> lr  = c00000000015dac8 .pcpu_alloc+0x758/0x960
> msr = 8000000000009032   cr  = 44224420
> ctr = 0000000000000040   xer = 0000000020000001   trap =  501
> 2:mon>
>
> The corresponding c code is :
>
> pcpu_populate_chunk():
> /home/sachin/work/linux-2.6.31/mm/percpu.c:978
>
>        /* commit new bitmap */
>        bitmap_copy(chunk->populated, populated, pcpu_unit_pages);
> clear:
>        for_each_possible_cpu(cpu)
>                memset((void *)pcpu_chunk_addr(chunk, cpu, 0) + off, 0, 
> size);
>    1aa0:       e9 3f 00 38     ld      r9,56(r31)
>    1aa4:       7b a0 1f 24     rldicr  r0,r29,3,60
>    1aa8:       e8 7b 00 18     ld      r3,24(r27)
>    1aac:       38 80 00 00     li      r4,0
>    1ab0:       e8 a1 00 88     ld      r5,136(r1)
>    1ab4:       7c 09 00 2a     ldx     r0,r9,r0
>    1ab8:       7c 63 02 14     add     r3,r3,r0
>    1abc:       7c 63 b2 14     add     r3,r3,r22
>    1ac0:       48 00 00 01     bl      1ac0 <.pcpu_alloc+0x754>
>    1ac4:       60 00 00 00     nop
>
> Thanks
> -Sachin
>
>


-- 

---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------



More information about the Linuxppc-dev mailing list