svn commit: r306284 - head/sys/dev/bxe

Konstantin Belousov kostikbel at gmail.com
Fri Sep 30 14:13:58 UTC 2016


On Fri, Sep 30, 2016 at 04:01:27PM +0200, Baptiste Daroussin wrote:
> On Fri, Sep 23, 2016 at 11:18:54PM +0000, David C Somayajulu wrote:
> > Author: davidcs
> > Date: Fri Sep 23 23:18:54 2016
> > New Revision: 306284
> > URL: https://svnweb.freebsd.org/changeset/base/306284
> > 
> > Log:
> >   Fixes for issues under high workloads
> >   
> >   MFC after:5 days
> 
> Please do not MFC as this change makes the kernel panic as soon as one setup the
> network:
> 
> I had to revert the patch to get my machine running again
> 
> bxe0 at pci0:1:0:0:        class=0x020000 card=0x06361028 chip=0x168e14e4 rev=0x10 hdr=0x00
>       vendor     = 'Broadcom Corporation'
>       device     = 'NetXtreme II BCM57810 10 Gigabit Ethernet'
>       class      = network
>       subclass   = ethernet
> bxe1 at pci0:1:0:1:        class=0x020000 card=0x06361028 chip=0x168e14e4 rev=0x10 hdr=0x00
>       vendor     = 'Broadcom Corporation'
>       device     = 'NetXtreme II BCM57810 10 Gigabit Ethernet'
>       class      = network
>       subclass   = ethernet
> 
> With the following trace:
> _callout_init_lock() at _callout_init_lock+0xa8/frame 0xfffffe201bde8370
> _timeout_task_init() at _timeout_task_init+0x31/frame 0xfffffe201bde8390
> bxe_nic_load() at bxe_nic_load+0x128a/frame 0xfffffe201bde8610
> bxe_init_locked() at bxe_init_locked+0xd16/frame 0xfffffe201bde8690
> bxe_init() at bxe_init+0x2f/frame 0xfffffe201bde86b0
> ether_ioctl() at ether_ioctl+0x4c/frame 0xfffffe201bde86e0
> in_control() at in_control+0x882/frame 0xfffffe201bde8760
> ifioctl() at ifioctl+0xdc1/frame 0xfffffe201bde87f0
> kern_ioctl() at kern_ioctl+0x246/frame 0xfffffe201bde8850
> 

The issue seems to be that the bxe_interrupt_attach() creates fast
taskqueue, i.e. the taskqueue lock is spinlock.  Then the queue is
passed to TIMEOUT_TASK_INIT(), which can only operate with the
sleepable mutex locks.


More information about the svn-src-all mailing list