Date: Fri, 30 Sep 2016 17:13:52 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Baptiste Daroussin <bapt@FreeBSD.org> Cc: David C Somayajulu <davidcs@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r306284 - head/sys/dev/bxe Message-ID: <20160930141352.GR38409@kib.kiev.ua> In-Reply-To: <20160930140127.ou5a6pjzrfc2ovew@ivaldir.etoilebsd.net> References: <201609232318.u8NNIsxj072044@repo.freebsd.org> <20160930140127.ou5a6pjzrfc2ovew@ivaldir.etoilebsd.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160930141352.GR38409>