svn commit: r209060 - head/sys/dev/ixgbe

Bjoern A. Zeeb bz at FreeBSD.org
Fri Jun 11 19:45:08 UTC 2010


On Fri, 11 Jun 2010, Jack F Vogel wrote:

> Author: jfv
> Date: Fri Jun 11 19:03:59 2010
> New Revision: 209060
> URL: http://svn.freebsd.org/changeset/base/209060
>
> Log:
>  Remove a disable_queue from the beginning of the
>  interrupt handler, automask handles it.
>  Also, add in msix vector descriptions.
>
>  MFC for 8.1 asap

Hi Jack,

I just tried a couple of days old HEAD before going to update to this one
and found hundreds of the follwoing "hanging" the machine as the console stays
busy for .. well don't know yet... 
load: 1.84  cmd: ifconfig 1386 [*ix0] 399.98r 0.00u 0.07s 0% 1364k

...
uma_zalloc_arg: zone "mbuf_packet" with the following non-sleepable locks held:
exclusive sleep mutex ix0:rx(0) (ix0:rx(0)) r = 0 (0xffffff0001c25808) locked @ sys/modules/ixgbe/../../dev/ixgbe/ixgbe.c:3615
exclusive sleep mutex ix0 (IXGBE Core Lock) r = 0 (0xffffff80110a73b8) locked @ sys/modules/ixgbe/../../dev/ixgbe/ixgbe.c:1197
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wt_delta 15.e4dd9523a934dd00 too short rapper+0x2a
kdb_backtrace() at kdb_backtrace+0x32
_witness_debugger() at _witness_debugger+0x2b
witness_warn() at witness_warn+0x314
uma_zalloc_arg() at uma_zalloc_arg+0x3e
ixgbe_init_locked() at ixgbe_init_locked+0x6cd
ixgbe_init() at ixgbe_init+0x39
ether_ioctl() at ether_ioctl+0x71
...


This happened on:
 	foo.example.net# ifconfig ix0 up
after kldload ixgbe.

/bz


> Modified:
>  head/sys/dev/ixgbe/ixgbe.c
>
> Modified: head/sys/dev/ixgbe/ixgbe.c
> ==============================================================================
> --- head/sys/dev/ixgbe/ixgbe.c	Fri Jun 11 18:46:34 2010	(r209059)
> +++ head/sys/dev/ixgbe/ixgbe.c	Fri Jun 11 19:03:59 2010	(r209060)
> @@ -1365,7 +1365,6 @@ ixgbe_msix_que(void *arg)
> 	bool		more_tx, more_rx;
> 	u32		newitr = 0;
>
> -	ixgbe_disable_queue(adapter, que->msix);
> 	++que->irqs;
>
> 	more_rx = ixgbe_rxeof(que, adapter->rx_process_limit);
> @@ -2121,6 +2120,9 @@ ixgbe_allocate_msix(struct adapter *adap
> 			device_printf(dev, "Failed to register QUE handler");
> 			return (error);
> 		}
> +#if __FreeBSD_version >= 800504
> +		bus_describe_intr(dev, que->res, que->tag, "que %d", i);
> +#endif
> 		que->msix = vector;
>         	adapter->que_mask |= (u64)(1 << que->msix);
> 		/*
> @@ -2155,6 +2157,9 @@ ixgbe_allocate_msix(struct adapter *adap
> 		device_printf(dev, "Failed to register LINK handler");
> 		return (error);
> 	}
> +#if __FreeBSD_version >= 800504
> +	bus_describe_intr(dev, adapter->res, adapter->tag, "link");
> +#endif
> 	adapter->linkvec = vector;
> 	/* Tasklets for Link, SFP and Multispeed Fiber */
> 	TASK_INIT(&adapter->link_task, 0, ixgbe_handle_link, adapter);
>



More information about the svn-src-head mailing list