diff options
author | Mike Belopuhov <mikeb@cvs.openbsd.org> | 2012-07-05 14:36:23 +0000 |
---|---|---|
committer | Mike Belopuhov <mikeb@cvs.openbsd.org> | 2012-07-05 14:36:23 +0000 |
commit | 002ae7ed11711796174e19577bab47db218185ee (patch) | |
tree | 2240fa0cb87a96a02c01c7e77cb8ac12c8ad7eab /sys/dev/pci | |
parent | 54ccc1b663f48741adac95474a330075923e1625 (diff) |
enable the code that forces a cleanup if number of tx descriptors
is below the threshold. noticed by brad. tweak threshold values
to get a bit of a performance increase.
Diffstat (limited to 'sys/dev/pci')
-rw-r--r-- | sys/dev/pci/if_ix.c | 9 | ||||
-rw-r--r-- | sys/dev/pci/if_ix.h | 5 |
2 files changed, 4 insertions, 10 deletions
diff --git a/sys/dev/pci/if_ix.c b/sys/dev/pci/if_ix.c index a5636404906..b1a173ae03d 100644 --- a/sys/dev/pci/if_ix.c +++ b/sys/dev/pci/if_ix.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ix.c,v 1.62 2012/02/26 16:22:37 mikeb Exp $ */ +/* $OpenBSD: if_ix.c,v 1.63 2012/07/05 14:36:22 mikeb Exp $ */ /****************************************************************************** @@ -1056,7 +1056,6 @@ ixgbe_encap(struct tx_ring *txr, struct mbuf *m_head) cmd_type_len |= IXGBE_ADVTXD_DCMD_VLE; #endif -#if 0 /* * Force a cleanup if number of TX descriptors * available is below the threshold. If it fails @@ -1065,12 +1064,9 @@ ixgbe_encap(struct tx_ring *txr, struct mbuf *m_head) if (txr->tx_avail <= IXGBE_TX_CLEANUP_THRESHOLD) { ixgbe_txeof(txr); /* Make sure things have improved */ - if (txr->tx_avail <= IXGBE_TX_OP_THRESHOLD) { - txr->no_desc_avail++; + if (txr->tx_avail <= IXGBE_TX_OP_THRESHOLD) return (ENOBUFS); - } } -#endif /* * Important to capture the first descriptor @@ -1097,7 +1093,6 @@ ixgbe_encap(struct tx_ring *txr, struct mbuf *m_head) /* Make certain there are enough descriptors */ if (map->dm_nsegs > txr->tx_avail - 2) { - txr->no_desc_avail++; error = ENOBUFS; goto xmit_fail; } diff --git a/sys/dev/pci/if_ix.h b/sys/dev/pci/if_ix.h index d930e22117a..de10f4aa016 100644 --- a/sys/dev/pci/if_ix.h +++ b/sys/dev/pci/if_ix.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ix.h,v 1.14 2012/02/26 16:22:37 mikeb Exp $ */ +/* $OpenBSD: if_ix.h,v 1.15 2012/07/05 14:36:22 mikeb Exp $ */ /****************************************************************************** @@ -80,7 +80,7 @@ * This parameters control when the driver calls the routine to reclaim * transmit descriptors. */ -#define IXGBE_TX_CLEANUP_THRESHOLD (sc->num_tx_desc / 8) +#define IXGBE_TX_CLEANUP_THRESHOLD (sc->num_tx_desc / 16) #define IXGBE_TX_OP_THRESHOLD (sc->num_tx_desc / 32) #define IXGBE_MAX_FRAME_SIZE 0x3F00 @@ -188,7 +188,6 @@ struct tx_ring { uint32_t bytes; /* Used for AIM calc */ uint32_t packets; /* Soft Stats */ - uint64_t no_desc_avail; uint64_t tx_packets; }; |