summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorMike Belopuhov <mikeb@cvs.openbsd.org>2012-07-05 14:36:23 +0000
committerMike Belopuhov <mikeb@cvs.openbsd.org>2012-07-05 14:36:23 +0000
commit002ae7ed11711796174e19577bab47db218185ee (patch)
tree2240fa0cb87a96a02c01c7e77cb8ac12c8ad7eab /sys/dev/pci
parent54ccc1b663f48741adac95474a330075923e1625 (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.c9
-rw-r--r--sys/dev/pci/if_ix.h5
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;
};