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);


_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to