svn commit: r48596 - head/en_US.ISO8859-1/htdocs/news/status
Warren Block
wblock at FreeBSD.org
Tue Apr 12 22:44:48 UTC 2016
Author: wblock
Date: Tue Apr 12 22:44:47 2016
New Revision: 48596
URL: https://svnweb.freebsd.org/changeset/doc/48596
Log:
Add report on BIS drivers from Dexuan Cui <decui at microsoft.com>.
Modified:
head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml
Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml
==============================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml Tue Apr 12 22:31:59 2016 (r48595)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml Tue Apr 12 22:44:47 2016 (r48596)
@@ -1331,4 +1331,173 @@
<help></help>
</project>
+
+ <project cat='kern'>
+ <title>FreeBSD Integration Services (BIS)</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>Sepherosa</given>
+ <common>Ziehau</common>
+ </name>
+ <email>sepherosa at gmail.com</email>
+ </person>
+
+ <person>
+ <name>
+ <given>Howard</given>
+ <common>Su</common>
+ </name>
+ <email>howard0su at gmail.com</email>
+ </person>
+
+ <person>
+ <name>
+ <given>Hongjiang</given>
+ <common>Zhang</common>
+ </name>
+ <email>honzhan at microsoft.com</email>
+ </person>
+
+ <person>
+ <name>
+ <given>Dexuan</given>
+ <common>Cui</common>
+ </name>
+ <email>decui at microsoft.com</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="https://wiki.FreeBSD.org/HyperV">FreeBSD Virtual Machines on Microsoft Hyper-V</url>
+ <url href="https://technet.microsoft.com/en-us/library/dn531030.aspx">Supported Linux and FreeBSD virtual machines for Hyper-V on Windows</url>
+ </links>
+
+ <body>
+ <p>When &os; virtual machines (VMs) run on Hyper-V, using
+ Hyper-V synthetic devices is recommended to get the best
+ network and storage performance and make full use of all the
+ benefits that Hyper-V provides. The collection of drivers that
+ are required to use Hyper-V synthetic devices in FreeBSD are
+ known as FreeBSD Integration Services (BIS). Some of the BIS
+ drivers (like network and storage drivers) have existed in
+ FreeBSD 9.x and 10.x for years, but there are still some
+ performance and stability issues and bugs. Compared with
+ Windows and Linux VMs, the current BIS lacks some useful
+ features, e.g., live virtual machine backup, TRIM/Unmap, the
+ support for UEFI VM (boot from UEFI), etc.</p>
+
+ <p>During the past quarter, we made a great progress on the
+ performance tuning for Hyper-V network driver. We also
+ refactored and cleaned up the VMBus driver, and fixed some
+ important bugs. All the work makes FreeBSD VMs run even better
+ on Hyper-V and the Hyper-V based cloud platform Azure!</p>
+
+ <p>Our work during 2016Q1 is documented below:</p>
+
+ <p>Optimizing the performance of Hyper-V network driver</p>
+
+ <ul>
+ <li>We added the LRO (Large Receive Offloading) support to the
+ driver and properly handled the ACK packets. This
+ effectively reduced the CPU cycles used in the TCP/IP stack
+ and dramatically boosted the network performance!</li>
+
+ <li>We enabled the vRSS (virtual Receive Side Scaling) support
+ for the driver. This greatly improved the network
+ performance for SMP virtual machine (VM).</li>
+
+ <li>We used a separate Tx kernel thread to relieve the Rx
+ thread of transmitting packets (the Rx thread tried to
+ transmit packets after receiving ACKs), so the Rx thread can
+ receive packets and send ACKs faster.</li>
+
+ <li>Now we can reach a VM-to-VM throughput of 9.1Gbps on a
+ host with 10Gbps physical NIC, and over 20Gbps on a host
+ with 40Gbps NIC, and meanwhile the CPUs still have plenty of
+ cycles for applications.</li>
+
+ <li>We also enabled IP header checksum offloading, and RX
+ checksum offloading for UDP.</li>
+
+ <li>Further performance tuning is working in progress.</li>
+ </ul>
+
+ <p>Refactoring and Cleaning up the VMBus driver code</p>
+
+ <ul>
+ <li>Instead of using swi threads directly, now we use per-CPU
+ taskqueue_create_fast() threads for event and message
+ handling, making the code more FreeBSD conventional.</li>
+
+ <li>Made a lot of cleanup to the hv_utils code (HeartBeat,
+ TimeSync and Shutdown) and we are further cleaning up the
+ KVP code.</li>
+
+ <li>Used a new message/interrupt slot for Hyper-V timer, so
+ the handling of timer and non-timer messages can be
+ distinguished, fixing a potential issue.</li>
+
+ <li>Instead of finding an available IDT vector by hacking,
+ we're changing to use the normal method, i.e.,
+ lapic_ipi_alloc().</li>
+
+ <li>We're modularizing the Hyper-V modules: 1) they will be
+ loaded in the loader; 2) we're going to enhance devd(8) to
+ improve the hot plug case.</li>
+ </ul>
+
+ <p>Bug Fixing</p>
+
+ <ul>
+ <li>Fixed the "spurious multiple disks" issue (PR 206630 ???
+ FreeBSD 10.2 on Windows 10 and 2016 server may not boot due
+ to multiple invalid disks issue) in the Hyper-V storage
+ driver and now FreeBSD VM can reliably boot on Win10 and
+ 2016 hosts.</li>
+
+ <li>Fixed the OACTIVE issue (PR 207297 - [Hyper-V] FreeBSD
+ 10.2 on hyperv lost network under heavy load for
+ OACTIVE).</li>
+
+ <li>Fixed TSC calibration issue (PR 208238 - [Hyper-V] TSC
+ frequency is not correctly detected: "calcru: runtime went
+ backwards") and we won't see the "runtime went backwards"
+ messages anymore!</li>
+
+ <li>Fixed the "very slow terminal" issue of 11-CURRENT by
+ enabling text mode when we're running on hypervisors.</li>
+
+ <li>Fixed the "unknown dhcp option value 0xf5" issue in
+ <tt>dhclient(8)</tt> by asking <tt>dhclient(8)</tt> to
+ ignore the option and &os; VM on Azure can reliably get IP
+ now.</li>
+ </ul>
+
+ <p>Found a workaround for PR 20824 ([Hyper-V] VM network may not
+ work over virtual switch based on wireless NIC): add
+ "net.link.ether.inet.max_age=60" in /etc/sysctl.conf.</p>
+
+ <p>We plan to add support for live virtual machine backup,
+ TRIM/Unmap, and UEFI VMs (Hyper-V Generation-2 VMs).</p>
+
+ <p>We published errata (FreeBSD-EN-16:04.hyperv,
+ FreeBSD-EN-16:05.hv_netvsc) with the Release Engineering team,
+ so 10.1 and 10.2 users can easily get the fixes of KVP and TCP
+ checksum by upgrading the system.</p>
+
+ <p>We published BIS test cases for Hyper-V on github:
+ https://github.com/FreeBSDonHyper-V/Test-BIS and we are going
+ to publish the test cases for Azure soon.</p>
+
+ <p>This project is sponsored by Microsoft.</p>
+ </body>
+
+ <sponsor>
+ Microsoft
+ </sponsor>
+
+ <help></help>
+ </project>
</report>
More information about the svn-doc-head
mailing list