Page MenuHomeFreeBSD

if_awg: performance improvements
ClosedPublic

Authored by jmcneill on Jun 30 2016, 2:05 AM.
Tags
Referenced Files
Unknown Object (File)
Sat, Dec 27, 6:23 AM
Unknown Object (File)
Thu, Dec 25, 7:23 AM
Unknown Object (File)
Tue, Dec 23, 12:06 AM
Unknown Object (File)
Dec 20 2025, 5:16 PM
Unknown Object (File)
Nov 28 2025, 3:35 PM
Unknown Object (File)
Nov 24 2025, 3:19 AM
Unknown Object (File)
Nov 21 2025, 7:52 AM
Unknown Object (File)
Nov 21 2025, 7:48 AM
Subscribers

Details

Summary
  • H3/A83T: Use PLL_PERIPH/2 for AHB2 parent clock
  • awg: support DEVICE_POLLING
  • awg: increase TX descriptors to 1024
  • awg: add support for passing a chain of mbufs to if_input, reducing the number of calls to mtx_unlock/mtx_lock
  • awg: remove duplicate byteswap when setting TX_INT_CTL
  • awg: set undocumented "TX_NEXT_FRAME" bit in TX control 1 register. Accoriding to the BSP, setting this bit allows the DMA engine to operate on a second packet while receiving another.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jmcneill retitled this revision from to if_awg: performance improvements.
jmcneill updated this object.
jmcneill edited the test plan for this revision. (Show Details)
jmcneill added a reviewer: ARM.
jmcneill set the repository for this revision to rS FreeBSD src repository - subversion.
jmcneill added a project: ARM.
manu added a reviewer: manu.
manu added a subscriber: manu.

Before on H3 I did ~85Mbps in TX, 95Mbps in RX, with this patch I do 95Mbps in RX and TX.
I didn't tweak the sysctl, and I don't know if DEVICE_POLLING is enabled or not.

This revision is now accepted and ready to land.Jul 13 2016, 12:31 PM
This revision was automatically updated to reflect the committed changes.