]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC 295740,295741,295742
authorsephe <sephe@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 13 Jun 2016 07:03:00 +0000 (07:03 +0000)
committersephe <sephe@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 13 Jun 2016 07:03:00 +0000 (07:03 +0000)
commit983ac012c3311528ebaec6a34fdbb2f1f5dfeb27
treec254f390327c862fed42f704f0d4fd78ccda83d3
parent050e8c4df3a5a3db5a181091644f66ff992a835b
MFC 295740,295741,295742

295740
    hyperv/hn: Set the TCP ACK/data segment aggregation limit

    Set TCP ACK append limit to 1, i.e. aggregate 2 ACKs at most.  Aggregating
    anything more than 2 hurts TCP sending performance in hyperv.  This
    significantly improves the TCP sending performance when the number of
    concurrent connetion is low (2~8).  And it greatly stabilizes the TCP
    sending performance in other cases.

    Set TCP data segments aggregation length limit to 37500.  Without this
    limitation, hn(4) could aggregate ~45 TCP data segments for each
    connection (even at 64 or more connections) before dispatching them to
    socket code; large aggregation slows down ACK sending and eventually
    hurts/destabilizes TCP reception performance.  This setting stabilizes
    and improves TCP reception performance for >4 concurrent connections
    significantly.

    Make them sysctls so they could be adjusted.

    Reviewed by:        adrian, gallatin (previous version), hselasky (previous version)
    Approved by:        adrian (mentor)
    MFC after:  1 week
    Sponsored by:       Microsoft OSTC
    Differential Revision:      https://reviews.freebsd.org/D5185

295741
    hyperv/hn: Add option to allow sharing TX taskq between hn instances

    It is off by default.  This eases further experimenting on this driver.

    Reviewed by:        adrian
    Approved by:        adrian (mentor)
    MFC after:  1 week
    Sponsored by:       Microsoft OSTC
    Differential Revision:      https://reviews.freebsd.org/D5272

295742
    hyperv/hn: Always do transmission scheduling.

    This one gives the best performance so far.

    Reviewed by:        adrian
    Approved by:        adrian (mentor)
    MFC after:  1 week
    Sponsored by:       Microsoft OSTC
    Differential Revision:      https://reviews.freebsd.org/D5273

git-svn-id: svn://svn.freebsd.org/base/stable/10@301860 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/hyperv/netvsc/hv_net_vsc.h
sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c