summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2011-11-08 18:23:02 +0000
committeryongari <yongari@FreeBSD.org>2011-11-08 18:23:02 +0000
commitebf84a8f036e065de34815892c1d4abc2c388e9e (patch)
treeef068fdbe86cdb90c1b47c0f90c292f34d365da9 /sys/conf
parent6ecc40aefc1238d70784dcb1e5e975b0a009c10b (diff)
downloadFreeBSD-src-ebf84a8f036e065de34815892c1d4abc2c388e9e.zip
FreeBSD-src-ebf84a8f036e065de34815892c1d4abc2c388e9e.tar.gz
Retire 'options TI_PRIVATE_JUMBOS' and replace local jumbo
allocator with UMA backed jumbo allocator by default. Previously ti(4) used sf_buf(9) interface for jumbo buffers but it was broken at this moment such that enabling jumbo frame caused instant panic. Due to the nature of sf_buf(9) it heavily relies on VM changes but it seems ti(4) was not received much blessing from VM gurus. I don't understand VM magic and implications used in driver either. Switching to UMA backed jumbo allocator like other network drivers will make jumbo frame work on ti(4). While I'm here, fully allocate all RX buffers. This means ti(4) now uses 512 RX buffer and 1024 mini RX buffers. To use sf_buf(9) interface for jumbo buffers, introduce a new 'options TI_SF_BUF_JUMBO'. If it is proven that sf_buf(9) is better for jumbo buffers, interesting developers can fix the issue in future. ti(4) still needs more bus_dma(9) cleanups and should use separate DMA tag/map for each ring(standard, jumbo, mini, command, event etc) but it should work on all platforms except PAE. Special thanks to Jay[1] who provided complete remote debugging access. Tested by: Jay Borkenhagen <jayb <> braeburn dot org > [1]
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/NOTES6
-rw-r--r--sys/conf/options2
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index a3d33c2a..231cd46 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -2142,11 +2142,11 @@ device malo # Marvell Libertas wireless NICs.
device mwl # Marvell 88W8363 802.11n wireless NICs.
device ral # Ralink Technology RT2500 wireless NICs.
-# Use "private" jumbo buffers allocated exclusively for the ti(4) driver.
-# This option is incompatible with the TI_JUMBO_HDRSPLIT option below.
-#options TI_PRIVATE_JUMBOS
+# Use sf_buf(9) interface for jumbo buffers on ti(4) controllers.
+#options TI_SF_BUF_JUMBO
# Turn on the header splitting option for the ti(4) driver firmware. This
# only works for Tigon II chips, and has no effect for Tigon I chips.
+# This option requires the TI_SF_BUF_JUMBO option above.
options TI_JUMBO_HDRSPLIT
#
diff --git a/sys/conf/options b/sys/conf/options
index 61078bb..99d64bb 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -526,7 +526,7 @@ NGATM_CCATM opt_netgraph.h
DRM_DEBUG opt_drm.h
ZERO_COPY_SOCKETS opt_zero.h
-TI_PRIVATE_JUMBOS opt_ti.h
+TI_SF_BUF_JUMBO opt_ti.h
TI_JUMBO_HDRSPLIT opt_ti.h
BCE_JUMBO_HDRSPLIT opt_bce.h
OpenPOWER on IntegriCloud