freebsd-dev/sys/dev/mlx5
Matt Macy 4f6c66cc9c 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
2018-05-23 21:02:14 +00:00
..
mlx5_core Bump mlx5core driver version. 2018-03-30 19:55:31 +00:00
mlx5_en ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
mlx5_ib UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
cmd.h Remove duplicate prototypes. 2018-03-08 15:37:09 +00:00
cq.h Use the autogenerated interface file for all commands in mlx5core. 2018-03-08 10:43:42 +00:00
device.h Issue a software reset on firmware assert in mlx5core. 2018-03-23 18:24:09 +00:00
diagnostics.h Make "desc" pointer non-constant inside the mlx5_core_diagnostics_entry 2017-01-30 08:35:15 +00:00
doorbell.h
driver.h Remove unused structure field in mlx5core. 2018-03-30 19:58:58 +00:00
fs.h Refactor the flowsteering APIs used by mlx5en(4). This change is needed by 2017-11-10 09:49:08 +00:00
mlx5_ifc.h Add support for fast unload in shutdown flow in mlx5core. 2018-03-23 18:02:20 +00:00
mlx5_rdma_if.h
mlx5io.h Add kernel and userspace code to dump the firmware state of supported 2018-03-08 15:21:56 +00:00
port.h Add support for per priority flow control, PFC, to mlx5en(4). 2018-03-08 11:40:39 +00:00
qp.h Use the autogenerated interface file for all commands in mlx5core. 2018-03-08 10:43:42 +00:00
srq.h Use the autogenerated interface file for all commands in mlx5core. 2018-03-08 10:43:42 +00:00
vport.h Add API function to query port performance counters for infiniband and RoCE 2017-11-10 13:58:49 +00:00