Page MenuHomeFreeBSD

if_awg: performance improvements
ClosedPublic

Authored by jmcneill on Jun 30 2016, 2:05 AM.
Tags
Referenced Files
Unknown Object (File)
Wed, Aug 19, 7:57 PM
Unknown Object (File)
Wed, Aug 19, 7:57 PM
Unknown Object (File)
Wed, Aug 19, 7:56 PM
Unknown Object (File)
Tue, Aug 18, 1:04 AM
Unknown Object (File)
Mon, Aug 17, 9:19 PM
Unknown Object (File)
Tue, Aug 11, 6:09 PM
Unknown Object (File)
Thu, Aug 6, 6:52 PM
Unknown Object (File)
Tue, Aug 4, 6:13 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.