svn commit: r48596 - head/en_US.ISO8859-1/htdocs/news/status

Warren Block <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
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 <[email protected]>.

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>[email protected]</email>
+      </person>
+
+      <person>
+	<name>
+	  <given>Howard</given>
+	  <common>Su</common>
+	</name>
+	<email>[email protected]</email>
+      </person>
+
+      <person>
+	<name>
+	  <given>Hongjiang</given>
+	  <common>Zhang</common>
+	</name>
+	<email>[email protected]</email>
+      </person>
+
+      <person>
+	<name>
+	  <given>Dexuan</given>
+	  <common>Cui</common>
+	</name>
+	<email>[email protected]</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>
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-doc-all
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.