]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Workaround delays caused by vmem_check().
authoradrian <adrian@FreeBSD.org>
Sun, 15 Mar 2015 21:30:20 +0000 (21:30 +0000)
committeradrian <adrian@FreeBSD.org>
Sun, 15 Mar 2015 21:30:20 +0000 (21:30 +0000)
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>

sys/dev/wpi/if_wpi.c
sys/dev/wpi/if_wpireg.h

index ab9f0ffd94c2ccb47904a822706b55045b9d2b0c..c70163eda406ce65d9255a42d7163611f15addc8 100644 (file)
@@ -2188,10 +2188,12 @@ wpi_notif_intr(struct wpi_softc *sc)
                        break;
                }
                }
-       }
 
-       /* Tell the firmware what we have processed. */
-       wpi_update_rx_ring(sc);
+               if (sc->rxq.cur % 8 == 0) {
+                       /* Tell the firmware what we have processed. */
+                       wpi_update_rx_ring(sc);
+               }
+       }
 }
 
 /*
index 6a7fbee17fc693b80f04c990338fed2950732c3c..7e60049a983a9a83f489f0fff048ab3a4b3ec68f 100644 (file)
 #define WPI_TX_RING_COUNT      256
 #define WPI_TX_RING_LOMARK     192
 #define WPI_TX_RING_HIMARK     224
+
+#ifdef DIAGNOSTIC
+#define WPI_RX_RING_COUNT_LOG  8
+#else
 #define WPI_RX_RING_COUNT_LOG  6
+#endif
+
 #define WPI_RX_RING_COUNT      (1 << WPI_RX_RING_COUNT_LOG)
 
 #define WPI_NTXQUEUES          8