> > linuxppc-dev-bounces+joakim.tjernlund=transmode...@lists.ozlabs.org wrote on > 2010/11/08 16:05:30: > > > From: Joakim Tjernlund <joakim.tjernl...@transmode.se> > > To: linuxppc-...@ozlabs.org > > Date: 2010/11/08 16:12 > > Subject: INFO: task snmpd:398 blocked for more than 120 seconds. > > Sent by: linuxppc-dev-bounces+joakim.tjernlund=transmode...@lists.ozlabs.org > > > > > > I can't make out what is causing this hang every now an then: > > > > INFO: task snmpd:398 blocked for more than 120 seconds. > > "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > > snmpd D 0fad1760 0 398 1 0x00000000 > > Call Trace: > > [c7b5fc70] [c7a49a80] 0xc7a49a80 (unreliable) > > [c7b5fd30] [c0008608] __switch_to+0x4c/0x6c > > [c7b5fd40] [c028fed4] schedule+0x184/0x310 > > [c7b5fd70] [c0290e5c] __mutex_lock_slowpath+0xa4/0x150 > > [c7b5fdb0] [c0290c50] mutex_lock+0x44/0x48 > > [c7b5fdc0] [c01eb5b0] rtnl_lock+0x18/0x28 > > [c7b5fdd0] [c01df6c4] dev_ioctl+0x2b4/0x764 > > [c7b5fe60] [c01cafc8] sock_ioctl+0x18c/0x2a0 > > [c7b5fe80] [c009a16c] vfs_ioctl+0xcc/0xe0 > > [c7b5fea0] [c009a998] do_vfs_ioctl+0xc4/0x79c > > [c7b5ff10] [c009b0b0] sys_ioctl+0x40/0x74 > > [c7b5ff40] [c00117c4] ret_from_syscall+0x0/0x38 > > > > The dev_ioctl is in SIOCGIFCONF: > > int dev_ioctl(struct net *net, unsigned int cmd, void __user *arg) > > { > > struct ifreq ifr; > > int ret; > > char *colon; > > > > /* One special case: SIOCGIFCONF takes ifconf argument > > and requires shared lock, because it sleeps writing > > to user space. > > */ > > > > if (cmd == SIOCGIFCONF) { > > rtnl_lock(); > > ret = dev_ifconf(net, (char __user *) arg); > > rtnl_unlock(); > > return ret; > > } > > > > Any ideas? Kernel is 2.6.35 > > I tried PROVE_LOCKING but now my kernel doesn't boot at all :) > > Something goes very wrong in arch/powerpc/kernel/prom.c:694 > 694 memblock_reserve(PHYSICAL_START, __pa(klimit) - PHYSICAL_START); > > (gdb) print klimit > $8 = 0xc08c9000 > > What is klimit and can I do something about it? > > kernel 2.6.35 on a mpc8321
That was not quite right, turns out that early_init_devtree(*params) points to a memory that has been zeroed: print initial_boot_params $3 = (struct boot_param_header *) 0xc07fa000 Above matches what u-boot writes: Booting kernel from Legacy Image at 00200000 ... Image Name: oskernel02a:p1a:99 Created: 2010-11-08 18:09:28 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1898430 Bytes = 1.8 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 07fdebb0 Booting using the fdt blob at 0x7fdebb0 Uncompressing Kernel Image ... OK Loading Device Tree to 007fa000, end 007ff327 ... OK (gdb) print *initial_boot_params $4 = {magic = 0x0, totalsize = 0x0, off_dt_struct = 0x0, off_dt_strings = 0x0, off_mem_rsvmap = 0x0, version = 0x0, last_comp_version = 0x0, boot_cpuid_phys = 0x0, dt_strings_size = 0x0, dt_struct_size = 0x0} Jocke _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev