From owner-svn-doc-all@freebsd.org  Tue Apr 12 22:44:48 2016
Return-Path: <owner-svn-doc-all@freebsd.org>
Delivered-To: svn-doc-all@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9850FB0EFC4;
 Tue, 12 Apr 2016 22:44:48 +0000 (UTC)
 (envelope-from wblock@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6FA07124E;
 Tue, 12 Apr 2016 22:44:48 +0000 (UTC)
 (envelope-from wblock@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3CMilSG076348;
 Tue, 12 Apr 2016 22:44:47 GMT (envelope-from wblock@FreeBSD.org)
Received: (from wblock@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3CMilpm076347;
 Tue, 12 Apr 2016 22:44:47 GMT (envelope-from wblock@FreeBSD.org)
Message-Id: <201604122244.u3CMilpm076347@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: wblock set sender to
 wblock@FreeBSD.org using -f
From: Warren Block <wblock@FreeBSD.org>
Date: Tue, 12 Apr 2016 22:44:47 +0000 (UTC)
To: doc-committers@freebsd.org, svn-doc-all@freebsd.org,
 svn-doc-head@freebsd.org
Subject: svn commit: r48596 - head/en_US.ISO8859-1/htdocs/news/status
X-SVN-Group: doc-head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-doc-all@freebsd.org
X-Mailman-Version: 2.1.21
Precedence: list
List-Id: "SVN commit messages for the entire doc trees \(except for &quot;
 user&quot; , &quot; projects&quot; , and &quot; translations&quot;
 \)" <svn-doc-all.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-doc-all>,
 <mailto:svn-doc-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-doc-all/>
List-Post: <mailto:svn-doc-all@freebsd.org>
List-Help: <mailto:svn-doc-all-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-doc-all>,
 <mailto:svn-doc-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Apr 2016 22:44:48 -0000

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@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@gmail.com</email>
+      </person>
+
+      <person>
+	<name>
+	  <given>Howard</given>
+	  <common>Su</common>
+	</name>
+	<email>howard0su@gmail.com</email>
+      </person>
+
+      <person>
+	<name>
+	  <given>Hongjiang</given>
+	  <common>Zhang</common>
+	</name>
+	<email>honzhan@microsoft.com</email>
+      </person>
+
+      <person>
+	<name>
+	  <given>Dexuan</given>
+	  <common>Cui</common>
+	</name>
+	<email>decui@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>