summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarybchik <arybchik@FreeBSD.org>2017-01-01 19:35:29 +0000
committerarybchik <arybchik@FreeBSD.org>2017-01-01 19:35:29 +0000
commit602b09e42f56c7558515fa4e77c6e2c041fb61a4 (patch)
tree3165ce69c07567babdcfbe0f242e5c9751a186d8
parent1d70c189b29c7de2714dc55322a92135165bae65 (diff)
downloadFreeBSD-src-602b09e42f56c7558515fa4e77c6e2c041fb61a4.zip
FreeBSD-src-602b09e42f56c7558515fa4e77c6e2c041fb61a4.tar.gz
MFC r310810
sfxge(4): cleanup: check deferred packet list tunables once Sponsored by: Solarflare Communications, Inc.
-rw-r--r--sys/dev/sfxge/sfxge_tx.c45
1 files changed, 23 insertions, 22 deletions
diff --git a/sys/dev/sfxge/sfxge_tx.c b/sys/dev/sfxge/sfxge_tx.c
index 580fa8b..68a91c4 100644
--- a/sys/dev/sfxge/sfxge_tx.c
+++ b/sys/dev/sfxge/sfxge_tx.c
@@ -1785,26 +1785,6 @@ sfxge_tx_qinit(struct sfxge_softc *sc, unsigned int txq_index,
(rc = tso_init(txq)) != 0)
goto fail3;
- if (sfxge_tx_dpl_get_max <= 0) {
- log(LOG_ERR, "%s=%d must be greater than 0",
- SFXGE_PARAM_TX_DPL_GET_MAX, sfxge_tx_dpl_get_max);
- rc = EINVAL;
- goto fail_tx_dpl_get_max;
- }
- if (sfxge_tx_dpl_get_non_tcp_max <= 0) {
- log(LOG_ERR, "%s=%d must be greater than 0",
- SFXGE_PARAM_TX_DPL_GET_NON_TCP_MAX,
- sfxge_tx_dpl_get_non_tcp_max);
- rc = EINVAL;
- goto fail_tx_dpl_get_max;
- }
- if (sfxge_tx_dpl_put_max < 0) {
- log(LOG_ERR, "%s=%d must be greater or equal to 0",
- SFXGE_PARAM_TX_DPL_PUT_MAX, sfxge_tx_dpl_put_max);
- rc = EINVAL;
- goto fail_tx_dpl_put_max;
- }
-
/* Initialize the deferred packet list. */
stdp = &txq->dpl;
stdp->std_put_max = sfxge_tx_dpl_put_max;
@@ -1849,8 +1829,6 @@ sfxge_tx_qinit(struct sfxge_softc *sc, unsigned int txq_index,
fail_txq_stat_init:
fail_dpl_node:
-fail_tx_dpl_put_max:
-fail_tx_dpl_get_max:
fail3:
fail_txq_node:
free(txq->pend_desc, M_SFXGE);
@@ -1951,6 +1929,26 @@ sfxge_tx_init(struct sfxge_softc *sc)
KASSERT(intr->state == SFXGE_INTR_INITIALIZED,
("intr->state != SFXGE_INTR_INITIALIZED"));
+ if (sfxge_tx_dpl_get_max <= 0) {
+ log(LOG_ERR, "%s=%d must be greater than 0",
+ SFXGE_PARAM_TX_DPL_GET_MAX, sfxge_tx_dpl_get_max);
+ rc = EINVAL;
+ goto fail_tx_dpl_get_max;
+ }
+ if (sfxge_tx_dpl_get_non_tcp_max <= 0) {
+ log(LOG_ERR, "%s=%d must be greater than 0",
+ SFXGE_PARAM_TX_DPL_GET_NON_TCP_MAX,
+ sfxge_tx_dpl_get_non_tcp_max);
+ rc = EINVAL;
+ goto fail_tx_dpl_get_non_tcp_max;
+ }
+ if (sfxge_tx_dpl_put_max < 0) {
+ log(LOG_ERR, "%s=%d must be greater or equal to 0",
+ SFXGE_PARAM_TX_DPL_PUT_MAX, sfxge_tx_dpl_put_max);
+ rc = EINVAL;
+ goto fail_tx_dpl_put_max;
+ }
+
sc->txq_count = SFXGE_TXQ_NTYPES - 1 + sc->intr.n_alloc;
sc->tso_fw_assisted = sfxge_tso_fw_assisted;
@@ -2003,5 +2001,8 @@ fail2:
fail:
fail_txq_node:
sc->txq_count = 0;
+fail_tx_dpl_put_max:
+fail_tx_dpl_get_non_tcp_max:
+fail_tx_dpl_get_max:
return (rc);
}
OpenPOWER on IntegriCloud