From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from e28esmtp02.in.ibm.com (e28smtp02.in.ibm.com [59.145.155.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "e28smtp02.in.ibm.com", Issuer "Equifax" (verified OK)) by ozlabs.org (Postfix) with ESMTPS id DDBEDDE219 for ; Tue, 8 Jul 2008 04:44:08 +1000 (EST) Received: from d28relay04.in.ibm.com (d28relay04.in.ibm.com [9.184.220.61]) by e28esmtp02.in.ibm.com (8.13.1/8.13.1) with ESMTP id m67IhGA1032361 for ; Tue, 8 Jul 2008 00:13:16 +0530 Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63]) by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v9.0) with ESMTP id m67Igsu31495128 for ; Tue, 8 Jul 2008 00:12:54 +0530 Received: from d28av01.in.ibm.com (loopback [127.0.0.1]) by d28av01.in.ibm.com (8.13.1/8.13.3) with ESMTP id m67IhFQ1003171 for ; Tue, 8 Jul 2008 00:13:15 +0530 Message-ID: <487263C2.60404@linux.vnet.ibm.com> Date: Tue, 08 Jul 2008 00:13:14 +0530 From: Kamalesh Babulal MIME-Version: 1.0 To: Jan-Bernd Themann Subject: Re: [BUG] 2.6.26-rc8-git2 - powerpc - circular locking dependency detected with net/ehea driver References: <486A2553.1090207@linux.vnet.ibm.com> <200807071108.09616.ossthema@de.ibm.com> In-Reply-To: <200807071108.09616.ossthema@de.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Cc: netdev@vger.kernel.org, kernel list , linuxppc-dev@ozlabs.org, kernel-testers@vger.kernel.org, jgarzik@pobox.com, Balbir Singh List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Jan-Bernd Themann wrote: > Hi Kamalesh, > > where you able to reproduce this problem with the patches applied > we posted on friday? > > Regards, > Jan-Bernd > > On Tuesday 01 July 2008 14:38, Kamalesh Babulal wrote: >> Hi, >> >> circular locking dependency is detected, while booting the >> powerpc box with the 2.6.26-rc8-git2 kernel. >> >> ======================================================= >> [ INFO: possible circular locking dependency detected ] >> 2.6.26-rc8-git2 #1 >> ------------------------------------------------------- Hi Jan-Bernd, Thanks for the patch. I tried your patch set over the 2.6.26-rc8-git2 kernel, the circular dependency is still begin detected :(. Jul 7 09:12:42 : ======================================================= Jul 7 09:12:42 : [ INFO: possible circular locking dependency detected ] Jul 7 09:12:42 : 2.6.26-rc8-git2 #2 Jul 7 09:12:42 : ------------------------------------------------------- Jul 7 09:12:42 : ip/2218 is trying to acquire lock: Jul 7 09:12:42 : (&ehea_fw_handles.lock){--..}, at: [] .ehea_up+0x6c/0x6f4 [ehea] Jul 7 09:12:42 : Jul 7 09:12:42 : but task is already holding lock: Jul 7 09:12:42 : (&port->port_lock){--..}, at: [] .ehea_open+0x44/0xcc [ehea] Jul 7 09:12:42 : Jul 7 09:12:42 : which lock already depends on the new lock. Jul 7 09:12:42 : Jul 7 09:12:42 : Jul 7 09:12:42 : the existing dependency chain (in reverse order) is: Jul 7 09:12:42 : Jul 7 09:12:42 : -> #2 (&port->port_lock){--..}: Jul 7 09:12:42 : [] .__lock_acquire+0xc84/0xee0 Jul 7 09:12:42 : [] .lock_acquire+0xd8/0x124 Jul 7 09:12:42 : [] .mutex_lock_nested+0x168/0x420 Jul 7 09:12:42 : [] .ehea_open+0x44/0xcc [ehea] Jul 7 09:12:42 : [] .dev_open+0xec/0x160 Jul 7 09:12:42 : [] .dev_change_flags+0x10c/0x210 Jul 7 09:12:42 : [] .devinet_ioctl+0x2cc/0x778 Jul 7 09:12:42 : [] .inet_ioctl+0xdc/0x134 Jul 7 09:12:42 : [] .sock_ioctl+0x2dc/0x338 Jul 7 09:12:42 : [] .vfs_ioctl+0x64/0xfc Jul 7 09:12:42 : [] .do_vfs_ioctl+0x450/0x494 Jul 7 09:12:42 : [] .sys_ioctl+0x78/0xc0 Jul 7 09:12:42 : [] .dev_ifsioc+0x1e8/0x450 Jul 7 09:12:42 : [] .compat_sys_ioctl+0x3ec/0x484 Jul 7 09:12:42 : [] syscall_exit+0x0/0x40 Jul 7 09:12:42 : Jul 7 09:12:42 : -> #1 (rtnl_mutex){--..}: Jul 7 09:12:42 : [] .__lock_acquire+0xc84/0xee0 Jul 7 09:12:42 : [] .lock_acquire+0xd8/0x124 Jul 7 09:12:42 : [] .mutex_lock_nested+0x168/0x420 Jul 7 09:12:42 : [] .rtnl_lock+0x28/0x44 Jul 7 09:12:42 : [] .register_netdev+0x24/0x8c Jul 7 09:12:42 : [] .ehea_setup_single_port+0x2d4/0x3e0 [ehea] Jul 7 09:12:42 : [] .ehea_probe_adapter+0x290/0x3a0 [ehea] Jul 7 09:12:42 : [] .of_platform_device_probe+0x80/0x8c4 Jul 7 09:12:42 : [] .driver_probe_device+0x144/0x20c Jul 7 09:12:42 : [] .__driver_attach+0x68/0xb0 Jul 7 09:12:42 : [] .bus_for_each_dev+0x88/0xe4 Jul 7 09:12:42 : [] .driver_attach+0x34/0x50 Jul 7 09:12:42 : [] .bus_add_driver+0xe0/0x294 Jul 7 09:12:42 : [] .driver_register+0xcc/0x1a4 Jul 7 09:12:42 : [] .of_register_driver+0x54/0x6c Jul 7 09:12:42 : [] .ibmebus_register_driver+0x40/0x60 Jul 7 09:12:42 : [] .ehea_module_init+0x1e4/0x238c [ehea] Jul 7 09:12:42 : [] .sys_init_module+0x19a0/0x1b80 Jul 7 09:12:42 : [] syscall_exit+0x0/0x40 Jul 7 09:12:42 : Jul 7 09:12:42 : -> #0 (&ehea_fw_handles.lock){--..}: Jul 7 09:12:42 : [] .__lock_acquire+0xb80/0xee0 Jul 7 09:12:42 : [] .lock_acquire+0xd8/0x124 Jul 7 09:12:42 : [] .mutex_lock_nested+0x168/0x420 Jul 7 09:12:42 : [] .ehea_up+0x6c/0x6f4 [ehea] Jul 7 09:12:42 : [] .ehea_open+0x6c/0xcc [ehea] Jul 7 09:12:42 : [] .dev_open+0xec/0x160 Jul 7 09:12:42 : [] .dev_change_flags+0x10c/0x210 Jul 7 09:12:42 : [] .devinet_ioctl+0x2cc/0x778 Jul 7 09:12:42 : [] .inet_ioctl+0xdc/0x134 Jul 7 09:12:42 : [] .sock_ioctl+0x2dc/0x338 Jul 7 09:12:42 : [] .vfs_ioctl+0x64/0xfc Jul 7 09:12:42 : [] .do_vfs_ioctl+0x450/0x494 Jul 7 09:12:42 : [] .sys_ioctl+0x78/0xc0 Jul 7 09:12:42 : [] .dev_ifsioc+0x1e8/0x450 Jul 7 09:12:42 : [] .compat_sys_ioctl+0x3ec/0x484 Jul 7 09:12:42 : [] syscall_exit+0x0/0x40 Jul 7 09:12:42 : Jul 7 09:12:42 : other info that might help us debug this: Jul 7 09:12:42 : Jul 7 09:12:42 : 2 locks held by ip/2218: Jul 7 09:12:42 : #0: (rtnl_mutex){--..}, at: [] .rtnl_lock+0x28/0x44 Jul 7 09:12:42 : #1: (&port->port_lock){--..}, at: [] .ehea_open+0x44/0xcc [ehea] Jul 7 09:12:42 : Jul 7 09:12:42 : stack backtrace: Jul 7 09:12:42 : Call Trace: Jul 7 09:12:42 : [c0000000f7b6f030] [c000000000010b9c] .show_stack+0x78/0x1c8 (unreliable) Jul 7 09:12:42 : [c0000000f7b6f0e0] [c000000000010d0c] .dump_stack+0x20/0x34 Jul 7 09:12:42 : [c0000000f7b6f160] [c0000000000a7644] .print_circular_bug_tail+0x84/0xa8 Jul 7 09:12:42 : [c0000000f7b6f230] [c0000000000a9fe4] .__lock_acquire+0xb80/0xee0 Jul 7 09:12:42 keechi-lp2 rmcctrl: 0513-059 The ctrmc Subsystem has been started. Subsystem PID is 2316. Jul 7 09:12:42 : [c0000000f7b6f320] [c0000000000aa41c] .lock_acquire+0xd8/0x124 Jul 7 09:12:42 : [c0000000f7b6f3e0] [c000000000452008] .mutex_lock_nested+0x168/0x420 Jul 7 09:12:42 : [c0000000f7b6f4d0] [d0000000002740c4] .ehea_up+0x6c/0x6f4 [ehea] Jul 7 09:12:42 : [c0000000f7b6f5e0] [d000000000275804] .ehea_open+0x6c/0xcc [ehea] Jul 7 09:12:42 : [c0000000f7b6f680] [c0000000003b62b0] .dev_open+0xec/0x160 Jul 7 09:12:42 : [c0000000f7b6f710] [c0000000003b46a4] .dev_change_flags+0x10c/0x210 Jul 7 09:12:42 : [c0000000f7b6f7c0] [c0000000004162b0] .devinet_ioctl+0x2cc/0x778 Jul 7 09:12:42 : [c0000000f7b6f8d0] [c0000000004173e0] .inet_ioctl+0xdc/0x134 Jul 7 09:12:42 : [c0000000f7b6f950] [c0000000003a4464] .sock_ioctl+0x2dc/0x338 Jul 7 09:12:42 : [c0000000f7b6f9f0] [c00000000012d12c] .vfs_ioctl+0x64/0xfc Jul 7 09:12:42 : [c0000000f7b6fa90] [c00000000012d614] .do_vfs_ioctl+0x450/0x494 Jul 7 09:12:42 : [c0000000f7b6fb50] [c00000000012d6d0] .sys_ioctl+0x78/0xc0 Jul 7 09:12:42 : [c0000000f7b6fc10] [c00000000016413c] .dev_ifsioc+0x1e8/0x450 Jul 7 09:12:42 : [c0000000f7b6fd30] [c000000000163588] .compat_sys_ioctl+0x3ec/0x484 Jul 7 09:12:42 : [c0000000f7b6fe30] [c0000000000086dc] syscall_exit+0x0/0x40 Jul 7 09:12:42 : ehea: eth0: Physical port up Jul 7 09:12:42 : ehea: External switch port is backup port 0x40c4 is in ehea_up (drivers/net/ehea/ehea_main.c:2469). 2464 struct ehea_port *port = netdev_priv(dev); 2465 2466 if (port->state == EHEA_PORT_UP) 2467 return 0; 2468 2469 mutex_lock(&ehea_fw_handles.lock); 2470 2471 ret = ehea_port_res_setup(port, port->num_def_qps, 2472 port->num_add_tx_qps); 2473 if (ret) { 0x57dc is in ehea_open (drivers/net/ehea/ehea_main.c:2559). 2554 static int ehea_open(struct net_device *dev) 2555 { 2556 int ret; 2557 struct ehea_port *port = netdev_priv(dev); 2558 2559 mutex_lock(&port->port_lock); 2560 2561 if (netif_msg_ifup(port)) 2562 ehea_info("enabling port %s", dev->name); 2563 -- Thanks & Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL.