summaryrefslogtreecommitdiffstats
path: root/sys/boot/efi/loader/autoload.c
diff options
context:
space:
mode:
authorsephe <sephe@FreeBSD.org>2016-01-12 01:30:51 +0000
committersephe <sephe@FreeBSD.org>2016-01-12 01:30:51 +0000
commitb493955d70f7db2ca259d1243bc39bc21c749c7b (patch)
tree1fd01ea872027c24d03fc66d12b2d25e12704824 /sys/boot/efi/loader/autoload.c
parent35f5091fba85d82f9564c381a5b0e430aaeacfd4 (diff)
downloadFreeBSD-src-b493955d70f7db2ca259d1243bc39bc21c749c7b.zip
FreeBSD-src-b493955d70f7db2ca259d1243bc39bc21c749c7b.tar.gz
hyperv/hn: Implement LRO
- Implement the LRO using tcp_lro APIs, and LRO is enabled by default. - Add several stats sysctl nodes. - Check IP/TCP length before sending the packet to tcp_lro_rx(), if host does not provide RX csum information (*); and add an option through sysctl to always trust host TCP segment csum checks (default is off). - Add sysctl to control the LRO entry depth; it is disabled by default. It is used to avoid holding too much TCP segments in driver. Limiting the LRO entry depth helps a lot in a one/two streams RX test. This one 3x the RX performance on my local test (3Gbps -> 10Gbps), and ~2x the RX performance over a directly connected 40Ge network (5Gbps -> 9Gbps). (*) It seems the host stops supplying csum information, once the network load is high. This still needs investigation... Reviewed by: Hongjiang Zhang <honzhan microsoft com>, Dexuan Cui <decui microsoft com>, Jun Su <junsu microsoft com>, delphij Tested by: me (local), Hongjiang Zhang <honzhan microsoft com> (directly connected 40Ge) Approved by: delphij (mentor), adrian (mentor, no objection) With feedback from: delphij, Hongjiang Zhang <honzhan microsoft com> Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D4824
Diffstat (limited to 'sys/boot/efi/loader/autoload.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud