From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752732AbbANQHD (ORCPT ); Wed, 14 Jan 2015 11:07:03 -0500 Received: from mail-qa0-f43.google.com ([209.85.216.43]:58320 "EHLO mail-qa0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751286AbbANQHA (ORCPT ); Wed, 14 Jan 2015 11:07:00 -0500 Message-ID: <54B69418.4050502@hurleysoftware.com> Date: Wed, 14 Jan 2015 11:06:48 -0500 From: Peter Hurley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Prashant Sreedharan CC: Michael Chan , netdev@vger.kernel.org, Linux kernel Subject: Re: [3.19-rc3] tg3: BUG: sleeping function called from invalid context References: <54B46DD5.9050802@hurleysoftware.com> <1421116255.16485.14.camel@prashant> In-Reply-To: <1421116255.16485.14.camel@prashant> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/12/2015 09:30 PM, Prashant Sreedharan wrote: > On Mon, 2015-01-12 at 19:59 -0500, Peter Hurley wrote: >> On 3.19-rc3, I'm seeing this might_sleep() warning [1] from the tg3_open() >> call stack. Let me know if I need to bisect this. >> >> Regards, >> Peter Hurley >> >> [1] >> >> [ 17.203009] BUG: sleeping function called from invalid context at /home/peter/src/kernels/mainline/kernel/irq/manage.c:104 >> [ 17.203067] in_atomic(): 1, irqs_disabled(): 0, pid: 1106, name: ip >> [ 17.203092] 2 locks held by ip/1106: >> [ 17.205255] #0: (rtnl_mutex){+.+.+.}, at: [] rtnetlink_rcv+0x1f/0x40 >> [ 17.207445] #1: (&(&tp->lock)->rlock){+.....}, at: [] tg3_start+0xc06/0x11f0 [tg3] >> [ 17.209725] CPU: 2 PID: 1106 Comm: ip Not tainted 3.19.0-rc3+wip-xeon+lockdep #rc3+wip >> [ 17.211900] Hardware name: Dell Inc. Precision WorkStation T5400 /0RW203, BIOS A11 04/30/2012 >> [ 17.214086] 0000000000000068 ffff8802ac823498 ffffffff817af7e8 0000000000000005 >> [ 17.216265] ffffffff81a9be78 ffff8802ac8234a8 ffffffff810998a5 ffff8802ac8234d8 >> [ 17.218446] ffffffff8109991a ffff8802ac8234c8 ffff8802af0aae00 ffffffffa00ed000 >> [ 17.220636] Call Trace: >> [ 17.222743] [] dump_stack+0x4f/0x7b >> [ 17.224808] [] ___might_sleep+0x105/0x140 >> [ 17.226842] [] __might_sleep+0x3a/0xa0 >> [ 17.228869] [] ? 0xffffffffa00ed000 >> [ 17.230939] [] synchronize_irq+0x38/0xa0 >> [ 17.232967] [] ? 0xffffffffa00ed000 >> [ 17.234991] [] tg3_chip_reset+0x13f/0x9c0 [tg3] >> [ 17.236988] [] tg3_reset_hw+0x7e/0x2d20 [tg3] >> [ 17.238996] [] ? __udelay+0x2f/0x40 >> [ 17.241007] [] ? _tw32_flush+0x47/0x80 [tg3] >> [ 17.243066] [] tg3_init_hw+0x5c/0x70 [tg3] >> [ 17.245438] [] tg3_start+0xc2b/0x11f0 [tg3] >> [ 17.247444] [] ? tg3_open+0x107/0x2e0 [tg3] >> [ 17.249556] [] ? trace_hardirqs_on+0xd/0x10 >> [ 17.251581] [] ? __local_bh_enable_ip+0x6f/0x100 >> [ 17.253710] [] tg3_open+0x128/0x2e0 [tg3] >> [ 17.255758] [] ? netpoll_poll_disable+0x5/0xa0 >> [ 17.257932] [] __dev_open+0xbf/0x140 >> [ 17.260091] [] __dev_change_flags+0xa1/0x160 >> [ 17.262222] [] dev_change_flags+0x29/0x60 >> [ 17.264360] [] do_setlink+0x2f2/0xa30 >> [ 17.266431] [] rtnl_newlink+0x51f/0x750 >> [ 17.268485] [] ? rtnl_newlink+0xe9/0x750 >> [ 17.270483] [] ? free_pages_prepare+0x1d2/0x270 >> [ 17.272507] [] ? trace_hardirqs_on_caller+0x11d/0x1e0 >> [ 17.274531] [] ? nla_parse+0x32/0x120 >> [ 17.276531] [] ? native_sched_clock+0x35/0xa0 >> [ 17.278514] [] rtnetlink_rcv_msg+0x95/0x250 >> [ 17.280485] [] ? preempt_count_sub+0x49/0x50 >> [ 17.282448] [] ? mutex_lock_nested+0x382/0x530 >> [ 17.284402] [] ? rtnetlink_rcv+0x1f/0x40 >> [ 17.286290] [] ? rtnetlink_rcv+0x1f/0x40 >> [ 17.288142] [] ? rtnetlink_rcv+0x40/0x40 >> [ 17.290031] [] netlink_rcv_skb+0xc1/0xe0 >> [ 17.291836] [] rtnetlink_rcv+0x2e/0x40 >> [ 17.293615] [] netlink_unicast+0xf3/0x1d0 >> [ 17.295420] [] netlink_sendmsg+0x313/0x690 >> [ 17.297132] [] ? might_fault+0x5f/0xb0 >> [ 17.298799] [] do_sock_sendmsg+0x8c/0x100 >> [ 17.300493] [] ? copy_msghdr_from_user+0x15e/0x1f0 >> [ 17.302173] [] ___sys_sendmsg+0x30b/0x320 >> [ 17.303798] [] ? native_sched_clock+0x35/0xa0 >> [ 17.305431] [] ? cpuacct_account_field+0x80/0xb0 >> [ 17.307085] [] ? native_sched_clock+0x35/0xa0 >> [ 17.308744] [] ? sched_clock_local+0x25/0x90 >> [ 17.310375] [] ? vtime_account_user+0x91/0xa0 >> [ 17.311948] [] ? sched_clock_cpu+0xb8/0xe0 >> [ 17.313509] [] ? put_lock_stats.isra.26+0xe/0x30 >> [ 17.315069] [] ? lock_release_holdtime.part.27+0x12e/0x1b0 >> [ 17.316618] [] ? vtime_account_user+0x91/0xa0 >> [ 17.318162] [] ? get_parent_ip+0x11/0x50 >> [ 17.319703] [] ? preempt_count_sub+0x49/0x50 >> [ 17.321235] [] ? context_tracking_user_exit+0x55/0x130 >> [ 17.322732] [] ? context_tracking_user_exit+0x55/0x130 >> [ 17.324197] [] __sys_sendmsg+0x42/0x80 >> [ 17.325634] [] SyS_sendmsg+0x12/0x20 >> [ 17.327048] [] system_call_fastpath+0x16/0x1b > > Please bisect, there hasn't been tg3 code changes in this path that > might cause this. What triggers this is the new debugging code added to catch nested sleeps; specifically e22b886 ("sched/wait: Add might_sleep() checks"). Regards, Peter Hurley