]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
hyperv/hn: Improve sending performance
authorSepherosa Ziehau <sephe@FreeBSD.org>
Tue, 26 Jan 2016 09:42:13 +0000 (09:42 +0000)
committerSepherosa Ziehau <sephe@FreeBSD.org>
Tue, 26 Jan 2016 09:42:13 +0000 (09:42 +0000)
commit719d2f1ad5b4bfdb187f2dfacc928c1510047038
treef7de3cf9c584611bbbd4eed05b8d5d45ef7be891
parent88d74d64d7ee5d01970fc47494d6da63ecf6cda7
hyperv/hn: Improve sending performance

- Avoid main lock contention by trylock for if_start, if that fails,
  schedule TX taskqueue for if_start
- Don't do direct sending if the packet to be sent is large, e.g.
  TSO packet.

This change gives me stable 9.1Gbps TCP sending performance w/ TSO
over a 10Gbe directly connected network (the performance fluctuated
between 4Gbps and 9Gbps before this commit). It also improves non-
TSO TCP sending performance a lot.

Reviewed by: adrian, royger
Approved by: adrian (mentor)
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5074
sys/dev/hyperv/netvsc/hv_net_vsc.h
sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c