aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/sfxge/sfxge_tx.c
diff options
context:
space:
mode:
authorAndrew Rybchenko <arybchik@FreeBSD.org>2015-03-17 08:16:37 +0000
committerAndrew Rybchenko <arybchik@FreeBSD.org>2015-03-17 08:16:37 +0000
commit95caaf0f54c3ba1c087730ed55148a71b02b525f (patch)
treee6878c752c68c0c70b6378fb52c7151f6b97e05d /sys/dev/sfxge/sfxge_tx.c
parent245d157651bd6e7e588b1e4a1ae25c1f7bbd30fa (diff)
Notes
Diffstat (limited to 'sys/dev/sfxge/sfxge_tx.c')
-rw-r--r--sys/dev/sfxge/sfxge_tx.c37
1 files changed, 21 insertions, 16 deletions
diff --git a/sys/dev/sfxge/sfxge_tx.c b/sys/dev/sfxge/sfxge_tx.c
index 66001234238e9..1169ecb0984e8 100644
--- a/sys/dev/sfxge/sfxge_tx.c
+++ b/sys/dev/sfxge/sfxge_tx.c
@@ -1380,11 +1380,13 @@ sfxge_tx_qinit(struct sfxge_softc *sc, unsigned int txq_index,
enum sfxge_txq_type type, unsigned int evq_index)
{
char name[16];
+ struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(sc->dev);
struct sysctl_oid *txq_node;
struct sfxge_txq *txq;
struct sfxge_evq *evq;
#ifdef SFXGE_HAVE_MQ
struct sfxge_tx_dpl *stdp;
+ struct sysctl_oid *dpl_node;
#endif
efsys_mem_t *esmp;
unsigned int nmaps;
@@ -1433,10 +1435,8 @@ sfxge_tx_qinit(struct sfxge_softc *sc, unsigned int txq_index,
}
snprintf(name, sizeof(name), "%u", txq_index);
- txq_node = SYSCTL_ADD_NODE(
- device_get_sysctl_ctx(sc->dev),
- SYSCTL_CHILDREN(sc->txqs_node),
- OID_AUTO, name, CTLFLAG_RD, NULL, "");
+ txq_node = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(sc->txqs_node),
+ OID_AUTO, name, CTLFLAG_RD, NULL, "");
if (txq_node == NULL) {
rc = ENOMEM;
goto fail_txq_node;
@@ -1476,21 +1476,25 @@ sfxge_tx_qinit(struct sfxge_softc *sc, unsigned int txq_index,
SFXGE_TXQ_LOCK_INIT(txq, device_get_nameunit(sc->dev), txq_index);
- SYSCTL_ADD_UINT(device_get_sysctl_ctx(sc->dev),
- SYSCTL_CHILDREN(txq_node), OID_AUTO,
- "dpl_get_count", CTLFLAG_RD | CTLFLAG_STATS,
+ dpl_node = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(txq_node), OID_AUTO,
+ "dpl", CTLFLAG_RD, NULL,
+ "Deferred packet list statistics");
+ if (dpl_node == NULL) {
+ rc = ENOMEM;
+ goto fail_dpl_node;
+ }
+
+ SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(dpl_node), OID_AUTO,
+ "get_count", CTLFLAG_RD | CTLFLAG_STATS,
&stdp->std_get_count, 0, "");
- SYSCTL_ADD_UINT(device_get_sysctl_ctx(sc->dev),
- SYSCTL_CHILDREN(txq_node), OID_AUTO,
- "dpl_get_non_tcp_count", CTLFLAG_RD | CTLFLAG_STATS,
+ SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(dpl_node), OID_AUTO,
+ "get_non_tcp_count", CTLFLAG_RD | CTLFLAG_STATS,
&stdp->std_get_non_tcp_count, 0, "");
- SYSCTL_ADD_UINT(device_get_sysctl_ctx(sc->dev),
- SYSCTL_CHILDREN(txq_node), OID_AUTO,
- "dpl_get_hiwat", CTLFLAG_RD | CTLFLAG_STATS,
+ SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(dpl_node), OID_AUTO,
+ "get_hiwat", CTLFLAG_RD | CTLFLAG_STATS,
&stdp->std_get_hiwat, 0, "");
- SYSCTL_ADD_UINT(device_get_sysctl_ctx(sc->dev),
- SYSCTL_CHILDREN(txq_node), OID_AUTO,
- "dpl_put_hiwat", CTLFLAG_RD | CTLFLAG_STATS,
+ SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(dpl_node), OID_AUTO,
+ "put_hiwat", CTLFLAG_RD | CTLFLAG_STATS,
&stdp->std_put_hiwat, 0, "");
#endif
@@ -1501,6 +1505,7 @@ sfxge_tx_qinit(struct sfxge_softc *sc, unsigned int txq_index,
return (0);
+fail_dpl_node:
fail_tx_dpl_put_max:
fail_tx_dpl_get_max:
fail3: