Re: splassert: assertwaitok: want -1 have 1 (bnx)

2011-06-30 Thread Tom Murphy
On Wed, Jun 29, 2011 at 08:27:24PM -0400, Ted Unangst wrote: On Thu, 30 Jun 2011, David Gwynne wrote: This driver is filled with bad juju. This changes all the waitoks to not ok, so they are interrupt safe. It already appears to handle the failure case. The rwlock is also totally

Re: splassert: assertwaitok: want -1 have 1 (bnx)

2011-06-30 Thread Tom Murphy
Here are my vmstat -iz and pcidump -vxx outputs: vmstat -iz: interrupt total rate irq0/clock1481628 399 irq0/ipi41235 11 irq144/acpi000 irq112/ppb0 00

Re: splassert: assertwaitok: want -1 have 1 (bnx)

2011-06-30 Thread Tom Murphy
On Wed, Jun 29, 2011 at 08:27:24PM -0400, Ted Unangst wrote: On Thu, 30 Jun 2011, David Gwynne wrote: This driver is filled with bad juju. This changes all the waitoks to not ok, so they are interrupt safe. It already appears to handle the failure case. The rwlock is also totally

Re: splassert: assertwaitok: want -1 have 1 (bnx)

2011-06-30 Thread Ted Unangst
On Thu, Jun 30, 2011, Tom Murphy wrote: With the above patch, the splasserts go away. However, the device still goes into a weird stats where it says it's active but no interrupts are generated. When I run ifconfig bnx0 down; ifconfig bnx0 up, it comes back fine for a while, but goes down

splassert: assertwaitok: want -1 have 1 (bnx)

2011-06-29 Thread Tom Murphy
Hi, I'm getting the following messages on a network interface: /bsd: bnx0: Watchdog timeout occurred, resetting! /bsd: splassert: assertwaitok: want -1 have 1 /bsd: Starting stack trace... /bsd: assertwaitok() at assertwaitok+0x1c /bsd: pool_get() at pool_get+0x95 /bsd: bnx_alloc_pkts() at

Re: splassert: assertwaitok: want -1 have 1 (bnx)

2011-06-29 Thread Matthew Dempsky
On Wed, Jun 29, 2011 at 1:11 AM, Tom Murphy open...@pertho.net wrote: Could it be bad network cable or bad hardware? I'm not sure the root cause of the watchdog timeout (*that* could be due to bad hardware, I have no idea), but the panic at least is because of a bad driver. That panic means the

Re: splassert: assertwaitok: want -1 have 1 (bnx)

2011-06-29 Thread Ted Unangst
On Wed, 29 Jun 2011, Tom Murphy wrote: /bsd: bnx0: Watchdog timeout occurred, resetting! /bsd: splassert: assertwaitok: want -1 have 1 /bsd: Starting stack trace... /bsd: assertwaitok() at assertwaitok+0x1c /bsd: pool_get() at pool_get+0x95 /bsd: bnx_alloc_pkts() at bnx_alloc_pkts+0x31

Re: splassert: assertwaitok: want -1 have 1 (bnx)

2011-06-29 Thread David Gwynne
On 30/06/2011, at 6:56 AM, Ted Unangst wrote: On Wed, 29 Jun 2011, Tom Murphy wrote: /bsd: bnx0: Watchdog timeout occurred, resetting! /bsd: splassert: assertwaitok: want -1 have 1 /bsd: Starting stack trace... /bsd: assertwaitok() at assertwaitok+0x1c /bsd: pool_get() at pool_get+0x95

Re: splassert: assertwaitok: want -1 have 1 (bnx)

2011-06-29 Thread Ted Unangst
On Thu, 30 Jun 2011, David Gwynne wrote: This driver is filled with bad juju. This changes all the waitoks to not ok, so they are interrupt safe. It already appears to handle the failure case. The rwlock is also totally unsafe and unnecessary. the issue is that bnx_init is called