From 18afb27e89f7c33e7f7ee046aaad87bef8939ee0 Mon Sep 17 00:00:00 2001 From: gallatin Date: Thu, 14 Jun 2007 19:35:03 +0000 Subject: correct some limits on interrupt proccessing so that fast forwarding back out the same mxge interface works nicely. --- sys/dev/mxge/if_mxge.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'sys/dev/mxge') diff --git a/sys/dev/mxge/if_mxge.c b/sys/dev/mxge/if_mxge.c index c6beb6f..f41576e 100644 --- a/sys/dev/mxge/if_mxge.c +++ b/sys/dev/mxge/if_mxge.c @@ -2276,7 +2276,7 @@ mxge_clean_rx_done(mxge_softc_t *sc) rx_done->idx = rx_done->cnt & rx_done->mask; /* limit potential for livelock */ - if (__predict_false(++limit > 2 * rx_done->mask)) + if (__predict_false(++limit > rx_done->mask / 2)) break; } while(!SLIST_EMPTY(&sc->lro_active)) { @@ -2294,9 +2294,8 @@ mxge_tx_done(mxge_softc_t *sc, uint32_t mcp_idx) mxge_tx_buf_t *tx; struct mbuf *m; bus_dmamap_t map; - int idx, limit; + int idx; - limit = 0; tx = &sc->tx; ifp = sc->ifp; while (tx->pkt_done != mcp_idx) { @@ -2316,10 +2315,6 @@ mxge_tx_done(mxge_softc_t *sc, uint32_t mcp_idx) tx->info[idx].flag = 0; tx->pkt_done++; } - /* limit potential for livelock by only handling - 2 full tx rings per call */ - if (__predict_false(++limit > 2 * tx->mask)) - break; } /* If we have space, clear IFF_OACTIVE to tell the stack that -- cgit v1.1