HomeFreeBSD

UDP: further performance improvements on tx

Description

UDP: further performance improvements on tx

Cumulative throughput while running 64

netperf -H $DUT -t UDP_STREAM -- -m 1

on a 2x8x2 SKL went from 1.1Mpps to 2.5Mpps

Single stream throughput increases from 910kpps to 1.18Mpps

Baseline:
https://people.freebsd.org/~mmacy/2018.05.11/udpsender2.svg

  • Protect read access to global ifnet list with epoch

https://people.freebsd.org/~mmacy/2018.05.11/udpsender3.svg

  • Protect short lived ifaddr references with epoch

https://people.freebsd.org/~mmacy/2018.05.11/udpsender4.svg

  • Convert if_afdata read lock path to epoch

https://people.freebsd.org/~mmacy/2018.05.11/udpsender5.svg

A fix for the inpcbhash contention is pending sufficient time
on a canary at LLNW.

Reviewed by: gallatin
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D15409

Details

Provenance
mmacyAuthored on May 23 2018, 9:02 PM
Parents
rG630ba2c514d7: udp: assign flowid to udp sockets round-robin
Branches
Unknown
Tags
Unknown