Date: Sat, 15 Nov 2008 02:36:53 +0000 (UTC) From: Kip Macy <kmacy@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r184977 - user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb Message-ID: <200811150236.mAF2ar3A007980@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kmacy Date: Sat Nov 15 02:36:53 2008 New Revision: 184977 URL: http://svn.freebsd.org/changeset/base/184977 Log: convert tx coalescing from a tunable in to a sysctl Modified: user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_sge.c Modified: user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c ============================================================================== --- user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c Sat Nov 15 01:43:34 2008 (r184976) +++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c Sat Nov 15 02:36:53 2008 (r184977) @@ -88,13 +88,9 @@ __FBSDID("$FreeBSD$"); extern int txq_fills; int multiq_tx_enable = 1; +int coalesce_tx_enable = 0; extern struct sysctl_oid_list sysctl__hw_cxgb_children; -static int cxgb_pcpu_tx_coalesce = 1; -TUNABLE_INT("hw.cxgb.tx_coalesce", &cxgb_pcpu_tx_coalesce); -SYSCTL_UINT(_hw_cxgb, OID_AUTO, tx_coalesce, CTLFLAG_RDTUN, &cxgb_pcpu_tx_coalesce, 0, - "coalesce small packets into a single work request"); - static int sleep_ticks = 1; TUNABLE_INT("hw.cxgb.sleep_ticks", &sleep_ticks); SYSCTL_UINT(_hw_cxgb, OID_AUTO, sleep_ticks, CTLFLAG_RDTUN, &sleep_ticks, 0, @@ -201,7 +197,7 @@ cxgb_dequeue_packet(struct sge_txq *txq, m->m_type, txq->txq_mr.br_cons, txq->txq_mr.br_prod)); m_vec[0] = m; if (m->m_pkthdr.tso_segsz > 0 || m->m_pkthdr.len > TX_WR_SIZE_MAX || - m->m_next != NULL || (cxgb_pcpu_tx_coalesce == 0)) { + m->m_next != NULL || (coalesce_tx_enable == 0)) { return (count); } @@ -387,7 +383,7 @@ cxgb_pcpu_transmit(struct ifnet *ifp, st if (((sc->tunq_coalesce == 0) || (buf_ring_count(&txq->txq_mr) >= TX_WR_COUNT_MAX) || - (cxgb_pcpu_tx_coalesce == 0)) && mtx_trylock(&txq->lock)) { + (coalesce_tx_enable == 0)) && mtx_trylock(&txq->lock)) { if (cxgb_debug) printf("doing immediate transmit\n"); Modified: user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_sge.c ============================================================================== --- user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_sge.c Sat Nov 15 01:43:34 2008 (r184976) +++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_sge.c Sat Nov 15 02:36:53 2008 (r184977) @@ -85,6 +85,7 @@ extern int nmbjumbo4; extern int nmbjumbo9; extern int nmbjumbo16; extern int multiq_tx_enable; +extern int coalesce_tx_enable; #define USE_GTS 0 @@ -3369,6 +3370,10 @@ t3_add_attach_sysctls(adapter_t *sc) CTLFLAG_RW, &multiq_tx_enable, 0, "enable transmit by multiple tx queues"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, + "coalesce_tx_enable", + CTLFLAG_RW, &coalesce_tx_enable, + 0, "coalesce small packets in work requests - WARNING ALPHA"); + SYSCTL_ADD_INT(ctx, children, OID_AUTO, "cache_alloc", CTLFLAG_RD, &cxgb_cached_allocations, 0, "#times a cluster was allocated from cache");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811150236.mAF2ar3A007980>