From: adrian Date: Sun, 15 Mar 2015 21:30:20 +0000 (+0000) Subject: Workaround delays caused by vmem_check(). X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=349908c4dd461cfa01f23659f712bde64f1414c9;p=people%2Fjulieng%2Ffreebsd.git Workaround delays caused by vmem_check(). PR: kern/197143 Submitted by: Andriy Voskoboinyk --- diff --git a/sys/dev/wpi/if_wpi.c b/sys/dev/wpi/if_wpi.c index ab9f0ffd94c2..c70163eda406 100644 --- a/sys/dev/wpi/if_wpi.c +++ b/sys/dev/wpi/if_wpi.c @@ -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); + } + } } /* diff --git a/sys/dev/wpi/if_wpireg.h b/sys/dev/wpi/if_wpireg.h index 6a7fbee17fc6..7e60049a983a 100644 --- a/sys/dev/wpi/if_wpireg.h +++ b/sys/dev/wpi/if_wpireg.h @@ -20,7 +20,13 @@ #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