freebsd-nq/sys/dev/hyperv/vmbus
Sepherosa Ziehau 21640df213 hyperv/hn: Add multiple channel support, a.k.a. vRSS
Each channel contains one RX ring and one TX ring.  And we
try to distribute the channels to different evenly.

Note: Currently we don't have enough information to extract
the RSS type and RSS hash value from the received packets.

This greatly improves the TX/RX performance for 8 virtual CPU
Hyper-V over 10Ge: it can max out 10Ge for TCP when multiple
RX/TX rings are enabled.

This almost doubles the TX/RX performance for locally connected
Hyper-Vs: was 6Gbps w/ 128 TCP streams, now 11Gbps w/ multiple
RX/TX rings enabled.

It is not enabled by default; it will be switched on after more
tests.

Collaborated with:	Hongjiang Zhang <honzhan microsoft com>
MFC after:	2 week
Sponsored by:	Microsoft OSTC
2016-03-04 06:52:11 +00:00
..
hv_channel_mgmt.c hyperv/hn: Add multiple channel support, a.k.a. vRSS 2016-03-04 06:52:11 +00:00
hv_channel.c hyperv/chan: Function renaming; no functional change 2016-03-02 01:33:30 +00:00
hv_connection.c Remove taskqueue_enqueue_fast(). 2016-03-01 17:47:32 +00:00
hv_et.c hyperv: implement an event timer 2016-01-14 03:05:10 +00:00
hv_hv.c hyperv: Use WAITOK in the places where we can wait 2016-02-05 07:20:31 +00:00
hv_ring_buffer.c hyperv/channel: Add debug sysctl nodes for channel indices 2016-02-29 05:24:29 +00:00
hv_vmbus_drv_freebsd.c hyperv: Use proper fence function to keep store-load order for msgs 2016-02-29 04:58:40 +00:00
hv_vmbus_priv.h hyperv/channel: Add debug sysctl nodes for channel indices 2016-02-29 05:24:29 +00:00