#
cc0c6ebc |
| 24-Apr-2017 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Use channel0, i.e. TX ring0, for TCP SYN/SYN|ACK.
Hyper-V hot channel effect: Operation latency on hot channel is only _half_ of the operation latency on cold channels.
This commit takes
hyperv/hn: Use channel0, i.e. TX ring0, for TCP SYN/SYN|ACK.
Hyper-V hot channel effect: Operation latency on hot channel is only _half_ of the operation latency on cold channels.
This commit takes the advantage of the above Hyper-V host channel effect, and can reduce more than 75% latency and more than 50% latency stdev, i.e. lower and more stable/predictable latency, for various types of web server workloads.
MFC after: 3 days Sponsored by: Microsoft
show more ...
|
#
b3b75d9c |
| 05-Apr-2017 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Fixat RNDIS rxfilter after the successful RNDIS init.
Under certain conditions on certain versions of Hyper-V, the RNDIS rxfilter is _not_ zero on the hypervisor side after the successful
hyperv/hn: Fixat RNDIS rxfilter after the successful RNDIS init.
Under certain conditions on certain versions of Hyper-V, the RNDIS rxfilter is _not_ zero on the hypervisor side after the successful RNDIS initialization, which breaks the assumption of any following code (well, it breaks the RNDIS API contract actually). Clear the RNDIS rxfilter explicitly, drain packets sneaking through, and drain the interrupt taskqueues scheduled due to the stealth packets.
Reported by: dexuan@ MFC after: 3 days Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10230
show more ...
|
#
ca6e5d98 |
| 01-Mar-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r314482 through r314522.
|
#
8fe90f73 |
| 01-Mar-2017 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Simplify RNDIS packet total length calculation.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D9712
|
#
be649680 |
| 28-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r314270 through r314419.
|
#
9130c4f7 |
| 28-Feb-2017 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Simplify RNDIS packet data offset calculation.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D9699
|
#
9b3ece1c |
| 04-Feb-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r313243
|
#
2004ce3f |
| 24-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r312624 through r312719.
|
#
33408a34 |
| 24-Jan-2017 |
Dexuan Cui <dexuan@FreeBSD.org> |
hyperv/hn: add devctl_notify for VF_UP/DOWN events
Reviewed by: sephe Approved by: sephe (mentor) MFC after: 2 weeks Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D9102
|
#
40d60d6e |
| 24-Jan-2017 |
Dexuan Cui <dexuan@FreeBSD.org> |
hyperv/hn: add a sysctl name for the VF interface
This makes it easier for the userland script to find the releated VF interface.
Reviewed by: sephe Approved by: sephe (mentor) MFC after: 2 weeks S
hyperv/hn: add a sysctl name for the VF interface
This makes it easier for the userland script to find the releated VF interface.
Reviewed by: sephe Approved by: sephe (mentor) MFC after: 2 weeks Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D9101
show more ...
|
#
5bdfd3fd |
| 24-Jan-2017 |
Dexuan Cui <dexuan@FreeBSD.org> |
hyperv/hn: add the support for VF drivers (SR-IOV)
Hyper-V's NIC SR-IOV implementation needs a Hyper-V synthetic NIC and a VF NIC to work together (both NICs have the same MAC address), mainly to su
hyperv/hn: add the support for VF drivers (SR-IOV)
Hyper-V's NIC SR-IOV implementation needs a Hyper-V synthetic NIC and a VF NIC to work together (both NICs have the same MAC address), mainly to support seamless live migration.
When the VF device becomes UP (or DOWN), the synthetic NIC driver needs to switch the data path from the synthetic NIC to the VF (or the opposite).
Note: multicast/broadcast packets are still received through the synthetic NIC and we need to inject the packets through the VF interface (if the VF is UP), even if the synthetic NIC is DOWN (so we need to force the rxfilter to be NDIS_PACKET_TYPE_PROMISCUOUS, when the VF is UP).
Reviewed by: sephe Approved by: sephe (mentor) MFC after: 2 weeks Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8964
show more ...
|
#
c927d681 |
| 24-Jan-2017 |
Dexuan Cui <dexuan@FreeBSD.org> |
hyperv/hn: remove the MTU and IFF_DRV_RUNNING checking in hn_rxpkt()
It's unnecessary because the upper nework stack does the same checking.
In the case of Hyper-V SR-IOV, we need to remove the che
hyperv/hn: remove the MTU and IFF_DRV_RUNNING checking in hn_rxpkt()
It's unnecessary because the upper nework stack does the same checking.
In the case of Hyper-V SR-IOV, we need to remove the checking because 1) multicast/broadcast packets are still received through the synthetic NIC and we need to inject the packets through the VF interface; 2) we must inject the packets even if the synthetic NIC is down, or has a different MTU from the VF device.
Reviewed by: sephe Approved by: sephe (mentor) MFC after: 2 weeks Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8962
show more ...
|
#
3ab0fea1 |
| 24-Jan-2017 |
Dexuan Cui <dexuan@FreeBSD.org> |
hyperv/hn: remember the channel pointer in struct hn_rx_ring
This will be used by the coming NIC SR-IOV patch.
Reviewed by: sephe Approved by: sephe (mentor) MFC after: 2 weeks Sponsored by: Micros
hyperv/hn: remember the channel pointer in struct hn_rx_ring
This will be used by the coming NIC SR-IOV patch.
Reviewed by: sephe Approved by: sephe (mentor) MFC after: 2 weeks Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8909
show more ...
|
#
f1b0a43f |
| 28-Dec-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Factor out function to set rxfilter.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8928
|
#
c08f7b2c |
| 28-Dec-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Function renaming; no functional changes.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8908
|
#
87f8129d |
| 28-Dec-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Consolidate hn_{suspend,resume}
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8907
|
#
3ffd3530 |
| 16-Dec-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r309817 through r310168.
|
#
6c1204df |
| 12-Dec-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Add polling support
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8739
|
#
4f9d94bf |
| 04-Dec-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r309263 through r309518.
|
#
34d68912 |
| 01-Dec-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Add 'options RSS' support.
Reviewed by: adrian MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8676
|
#
8e7d3136 |
| 01-Dec-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Don't hold txdesc, if no BPFs are attached.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8675
|
#
85e4ae1e |
| 01-Dec-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Add HN_DEBUG kernel option.
If bufring is used for per-TX ring descs, don't update "available" counter, which is only used to help debugging.
MFC after: 1 week Sponsored by: Microsoft Di
hyperv/hn: Add HN_DEBUG kernel option.
If bufring is used for per-TX ring descs, don't update "available" counter, which is only used to help debugging.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8674
show more ...
|
#
0e11868d |
| 30-Nov-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Allow TX to share event taskqueues.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8659
|
#
fdd0222a |
| 30-Nov-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Allow multiple TX taskqueues.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8655
|
#
52d81234 |
| 30-Nov-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/hn: Nuke the unused TX taskqueue CPU binding tunable.
It was an experimental tunable, and is now deemed to be road blocker for further changes. Time to retire it.
MFC after: 1 week Sponsore
hyperv/hn: Nuke the unused TX taskqueue CPU binding tunable.
It was an experimental tunable, and is now deemed to be road blocker for further changes. Time to retire it.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8654
show more ...
|