]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Performance improvements for octe(4):
authornwhitehorn <nwhitehorn@FreeBSD.org>
Sun, 10 Feb 2019 20:13:59 +0000 (20:13 +0000)
committernwhitehorn <nwhitehorn@FreeBSD.org>
Sun, 10 Feb 2019 20:13:59 +0000 (20:13 +0000)
commit86f14716876aec7b9186468f7df3eaaaa6c5c9c0
tree7ea152341f3d1058532433bd6b342c6a6a75d5b1
parent276561ace9475f18571260bc52a9fa00f381bbd0
Performance improvements for octe(4):
- Distribute RX load across multiple cores, if present. This reverts
  r217212, which is no longer relevant (I think because of the newer
  SDK).
- Use newer APIs for pinning taskqueue entries to specific cores.
- Deepen RX buffers.

This more than doubles NAT forwarding throughput on my EdgeRouter Lite from,
with typical packet mixture, 90 Mbps to over 200 Mbps. The result matches
forwarding throughput in Linux without the UBNT hardware offload on the same
hardware, and thus likely reflects hardware limits.

Reviewed by: jhibbits
sys/mips/cavium/octe/ethernet-defines.h
sys/mips/cavium/octe/ethernet-rx.c
sys/mips/cavium/octe/ethernet.c