[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAADWXX8GM5Xdf1Of09ABXEB8eb=eVqPjHTaT7ZzcStnX8=cO_A@mail.gmail.com>
Date: Tue, 29 Nov 2016 11:11:08 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Meelis Roos <mroos@...ux.ee>
Cc: Linux Kernel list <linux-kernel@...r.kernel.org>,
netdev@...r.kernel.org
Subject: Re: 4.9-rc7: (forcedeth?) BUG: sleeping function called from invalid
context at kernel/irq/manage.c:110
On Tue, Nov 29, 2016 at 12:26 PM, Meelis Roos <mroos@...ux.ee> wrote:
> This is 4.9-rc7 on Sun Ultra 20 (Opteron 175 on NVidia chipset PC with
> NVidia ethernet).
>
> BUG: sleeping function called from invalid context at kernel/irq/manage.c:110
Hmm. No changes in either forcedeth or in the synchronize_irq() debugging.
It seems to be due to netconsole. Did you enable new debugging (like
the DEBUG_ATOMIC_SLEEP config option) or change any netconsole things?
It looks like it's simply the dev_info() call in usb_add_hcd():
dev_info(hcd->self.controller, "%s\n", hcd->product_desc);
and the printk() in amd64_edac_init():
printk(KERN_INFO "AMD64 EDAC driver v%s\n", EDAC_AMD64_VERSION);
and yes, netconsole does "write_msg()" which is run with interrupts
disabled and the 'target_list_lock' spinlock held.
So when netpoll_send_udp() then calls down to the NIC poll routine, we
definitely are in an atomic context.
But none of this looks new. I don't see _anything_ in any of these
areas that has changed since 4.8.
Which is why I suspect you changed something in your setup wrt
netconsole or your kernel config?
Linus
Powered by blists - more mailing lists