emx: Update comment about multiple TX queues on 82574
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Tue, 12 Mar 2013 12:38:58 +0000 (20:38 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Tue, 12 Mar 2013 12:38:58 +0000 (20:38 +0800)
The watchdog timeout on TX queue0 when multiple TX queues are enable
is _not_ related to hardware TX checksum offloading.

In the latest 82574 specification (Feb 2013, rev 3.3), it claims the
same TX context setting up requirement for multiple TX queues as with
82571.  However, 82571 works quite well with multiple TX queues.

Sigh.

sys/dev/netif/emx/if_emx.c

index c2e710c..2eef8e6 100644 (file)
@@ -609,7 +609,12 @@ emx_attach(device_t dev)
         *
         * NOTE:
         * Don't enable multiple TX queues on 82574; it always gives
-        * watchdog timeout when multiple TCP streams are received.
+        * watchdog timeout on TX queue0, when multiple TCP streams are
+        * received.  It was originally suspected that the hardware TX
+        * checksum offloading caused this watchdog timeout, since only
+        * TCP ACKs are sent during TCP receiving tests.  However, even
+        * if the hardware TX checksum offloading is disable, TX queue0
+        * still will give watchdog.
         */
        tx_ring_max = 1;
        if (sc->hw.mac.type == e1000_82571 ||