Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
86d7f5d3 |
| 26-Nov-2011 |
John Marino <draco@marino.st> |
Initial import of binutils 2.22 on the new vendor branch
Future versions of binutils will also reside on this branch rather than continuing to create new binutils branches for each new version.
|
Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0 |
|
#
5df3a6aa |
| 09-Sep-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
NFE - Change default RX ring size from 128 -> 256, Adjust moderation timer.
* NFE does not seem to be able to flow control the phy. TCP reception using window scaling and large socket bufs can bl
NFE - Change default RX ring size from 128 -> 256, Adjust moderation timer.
* NFE does not seem to be able to flow control the phy. TCP reception using window scaling and large socket bufs can blow out the receiver ring before the interrupt has a chance to drain it.
This results in the receiver dropping a packet and the transmitter seeing bursts of duplicate TCP acks and having to go into recovery.
* Shorten the moderation timer from 500uS to 250uS, increasing its frequency from 2000Hz to 4000Hz. Note that the moderation timer only kicks in when the discrete interrupt rate exceeds the frequency.
* The problem still occurs with the larger RX ring and shorter moderation timer, but not nearly as often.
show more ...
|
Revision tags: v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0 |
|
#
244a9aa3 |
| 17-Jan-2009 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
nfe(4): busdma(9) correction
- Use bus_dmamem_coherent() - Fix busdma(9) parameters
|
Revision tags: v2.1.1, v2.0.1 |
|
#
d378110e |
| 12-Jul-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
- Check number of free TX descs before trying to xmit packets - Recollect TX descs in nfe_start() if nfe(4) is going to enter OACTIVE - Use dynamic segment limit for bus_dmamap_load() in nfe_encap()
- Check number of free TX descs before trying to xmit packets - Recollect TX descs in nfe_start() if nfe(4) is going to enter OACTIVE - Use dynamic segment limit for bus_dmamap_load() in nfe_encap()
This change gives me following result on AMD64X2 3600+ with MCP51:
10 seconds, TX 64bytes packets, before/after
256 TX desc imtimer | packets | if_snd full | if_oerrors -125 1.08M/1.08M 84532/82786 90/0 -250 990K/1.08M 3735886/157125 38872/0
4096 TX desc imtimer | packets | if_snd full | if_oerrors -125 1.08M/1.09M 0/0 45/0 -250 1.08M/1.10M 0/0 39/0
It gives great improvement when number of TX desc is 256 (default), and it at least will not loose any packets if number TX desc is 4096.
show more ...
|
#
b4633098 |
| 12-Jul-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
Add tunable for number of TX desc
|
#
9e1f5a3c |
| 12-Jul-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
- Decrease NFE_MAX_SCATTER to 32, should be enough - Increase ifnet.if_snd length to (NFE_TX_RING_COUNT - 1)
|
#
c58816ed |
| 12-Jul-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
Use softc sc_rx_ring_count to allocate jumbo frame instead of nfe_rx_ring_count
|
#
53f1d017 |
| 27-Jun-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
Rework stop path.
Obtained-from: forcedeth
|
#
faaea42e |
| 27-Jun-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
- Rename NFE_RXTX_V[32]MAGIC to NFE_RXTX_DESC_V[32]. - Change NFE_RXTX_DESC_V3 from 0x2200 to 0xc02200; it is quite interesting the thing actually worked. - Add rxtxctl_desc in softc, which stores
- Rename NFE_RXTX_V[32]MAGIC to NFE_RXTX_DESC_V[32]. - Change NFE_RXTX_DESC_V3 from 0x2200 to 0xc02200; it is quite interesting the thing actually worked. - Add rxtxctl_desc in softc, which stores the desc type of rxtxctl. Set it up during attach. - Add power control fixes on attach and init path.
Obtained-from: forcedeth
show more ...
|
#
755f8683 |
| 27-Jun-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
- Disable WOL during attach, don't mess with it during init - NFE_WOL_MAGIC -> NFE_WOL_ENABLE
Obtained-from: forthdeth
|
#
f1fbd292 |
| 25-Jun-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
TX_UNK -> TX_POLL
According-to: Linux forcedeth
|
#
ec9403d0 |
| 10-Sep-2007 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
- Add interrupt moderation support by only using TIMER intr; IM is not possible when RX or TX intr is enabled. With this change, my nfe(4) can TX at line speed finally (mtu 1500). - Add per ifac
- Add interrupt moderation support by only using TIMER intr; IM is not possible when RX or TX intr is enabled. With this change, my nfe(4) can TX at line speed finally (mtu 1500). - Add per iface sysctl node hw.nfeX.imtime to enable, disable and set interrupt moderation time. Set it to -1 will disable IM; 64-128 seems to be a reasonable value range. This sysctl variable is _not_ on by default, and can be tuned when the iface is running. - Nuke global sysctl nodes, make them per iface.
# We may consider using TIMER intr under all situations, but with larger # imtime when IM is not enabled, since for certain type of nfe(4), TX # interrupts may never come.
show more ...
|
#
11db6c57 |
| 08-Aug-2007 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
Add hardware csum offload support.
Tested-by: "Rumko" <rumcic@gmail.com> Obtained-from: Peer Chen at nVIDIA via FreeBSD
|
#
a455c52e |
| 17-Jun-2007 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
- Make "ifconfig nfeX mtu xxx" work. - Don't use jumbo frames by default for chips that support jumbo frames. Jumbo frame pool is still allocated in case mtu is set above 1500. Tested-by: "Rumko"
- Make "ifconfig nfeX mtu xxx" work. - Don't use jumbo frames by default for chips that support jumbo frames. Jumbo frame pool is still allocated in case mtu is set above 1500. Tested-by: "Rumko" <rumcic@gmail.com> - Make number of RX descriptors tunable, hw.nfe.rx_ring_count, default value seems to be too small if jumbo frames are used. Add a read-only sysctl node hw.nfe.rx_ring_count, which reflects the value of the newly added tunable. Submitted-by: "Rumko" <rumcic@gmail.com> (w/ modification)
show more ...
|
#
5d07d784 |
| 21-Oct-2006 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
WOL_MAGIC 0x7770 -> 0x1111
Obtained-from: FreeBSD
# This "magic" change of the "magic" value is submitted by # Peer Chen at nVIDIA # to FreeBSD
|
#
ae813fd8 |
| 27-Aug-2006 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
- Port nfe(4) from OpenBSD. - Use spare RX DMA map to recover from bus_dmamap_load_mbuf() failure in nfe_newbuf_sda(). - In nfe_encap(), properly handle excessive fragmented frame with m_defrag(),
- Port nfe(4) from OpenBSD. - Use spare RX DMA map to recover from bus_dmamap_load_mbuf() failure in nfe_newbuf_sda(). - In nfe_encap(), properly handle excessive fragmented frame with m_defrag(), instead of descard it. - Use additional serializer to protect jumbo buffer pool. - In nfe_enacp(), set NFE_TX_VALID for each segments after all segment are in place. Otherwise TX engine will be confused and never generates TX interrupts, which triggers the unpleasant "watchdog timeout". Diagnosed-and-fixed-by: dillon@ - Add polling(4) support. By: dillon@
Thank Jonathan Gray <jsg@openbsd.org> and Damien Bergamini <damien.bergamini@free.fr> for their work on this driver.
Thank Matthew Dillon (dillon@) for diagnosing and fixing the serious bug in TX path.
Tested-by: dillon@ corecode@(an early version)
show more ...
|