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

Benjamin Kaduk bjk at
Fri Jan 15 03:45:10 UTC 2016

Author: bjk
Date: Fri Jan 15 03:45:09 2016
New Revision: 48019

  Add FreeBSD Integration Services entry from Dexuan Cui


Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2015-10-2015-12.xml
--- head/en_US.ISO8859-1/htdocs/news/status/report-2015-10-2015-12.xml	Fri Jan 15 01:59:38 2016	(r48018)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2015-10-2015-12.xml	Fri Jan 15 03:45:09 2016	(r48019)
@@ -2206,4 +2206,134 @@
+  <project cat='kern'>
+    <title>&os; Integration Services (BIS) </title>
+    <contact>
+      <person>
+	<name>
+	  <given>Dexuan</given>
+	  <common>Cui</common>
+	</name>
+	<email>decui at</email>
+      </person>
+      <person>
+	<name>
+	  <given>Hongjiang</given>
+	  <common>Zhang</common>
+	</name>
+	<email>honzhan at</email>
+      </person>
+    </contact>
+    <links>
+      <url href="">&os; Virtual Machines on Microsoft Hyper-V</url>
+      <url href="">Linux and &os; Virtual Machines on Hyper-V</url>
+    </links>
+    <body>
+      <p>When &os; virtual machines (VMs) run on Hyper-V,  in order
+	to get the best network and storage performance and make full use
+	of all the benefits that Hyper-V provides, it is recommended to
+	use Hyper-V synthetic devices.  The collection of drivers that are
+	required to run Hyper-V synthetic devices in &os; are known as
+	&os; Integration Services (BIS).  Some of the BIS drivers (like
+	network and storage drivers) have existed in &os; 9.x and 10.x for
+	years, but there are still some performance and stability issues
+	and bugs.  Additionally, compared with Windows and Linux VMs, the
+	current BIS lacks some important features, such as the virtual
+	Receive Side Scaling (vRSS) support in the Hyper-V network driver
+	and the support for UEFI VM (boot from UEFI), among others.</p>
+      <p>We are now working more on the issues and performance
+	tuning to make &os; VM run better on Hyper-V and the Hyper-V based
+	cloud platform Azure.</p>
+      <p>Our work during 2015Q4 is documented below:</p>
+      <ul>
+	<li>Optimizing the VMBus driver and Hyper-V network driver
+	  for performance:
+	  <ul>
+	    <li>Sent out patches to enable <tt>INTR_MPSAFE</tt> for
+	      the interrupt handling thread, speed up
+	      relid-to-channel lookup in the thread by map table,
+	      and optimize the VMBus ringbuffer writable
+	      notification to the host.</li>
+	    <li>Developing a patch to enable the virtual Receive
+	      Side Scaling (vRSS) for Hyper-V network device driver.
+	      This will greatly improve the network performance for
+	      SMP virtual machine (VM).</li>
+	    <li>Sent out a patch to enable the Hyper-V timer, which
+	      will improve the accuracy of timekeeping when &os; VMs
+	      run on Hyper-V.</li>
+	  </ul>
+	</li>
+	<li>Fixing bugs and cleaning up the code:
+	  <ul>
+	    <li>Fixed a bug in checksum offloading (PR 203630
+	      — [Hyper-V] [nat] [tcp] 10.2 NAT bug in TCP stack
+	      or hyperv netsvc driver) in the Hyper-V network driver,
+	      making &os; VM based NAT gateways work more reliably.</li>
+	    <li>Fixed a serialization issue in the initialization of
+	      VMBus devices, fixing PR 205156 ([Hyper-V] NICs' (hn0,
+	      hn1) MAC addresses can appear in an uncertain way across
+	      reboot).</li>
+	    <li>Fixed a KVP (Key-Value Pair) issue (retrieving a
+	      key's value can hang for an uncertain period of
+	      time).</li>
+	    <li>Added ioctl support for SIOCGIFMEDIA for the Hyper-V
+	      network driver, fixing PR 187006 ([Hyper-V] dynamic
+	      address (DHCP) obtaining doesn't work on HYPER-V OS
+	      2012 R2).</li>
+	    <li>Sent out patches to add an interrupt counter for
+	      Hyper-V VMBus interrupts (so the user can easily get
+	      the statistical information about VMBus interrupts),
+	      and fix the KVP daemon's poll timeout (so the daemon
+	      will avoid unnecessary polling every 100
+	      milliseconds.</li>
+	    <li>Identified a TSC calibration issue: the i8254 PIT
+	      timer emulation of Hyper-V is not fully reliable, so
+	      the Hyper-V time counter should be used to calibrate
+	      the TSC.  A patch was drafted.  With the patch, it looks
+	      the warning kernel message (e.g., "calcru: runtime
+	      went backwards from 46204978 usec to 23362331 usec for
+	      pid 0 (kernel)") will go away, and the time-based
+	      tracing of Dtrace will be more accurate.</li>
+	  </ul>
+	</li>
+	<li>We plan to add support for UEFI VMs (a.k.a., Hyper-V
+	  Generation-2 VMs).  Currently some issues and to-do items were
+	  identified: e.g., we cannot use the i8254 PIT to calibrate the
+	  TSC because the i8254 PIT does not exist in a UEFI VM, and we
+	  need to add support for the Hyper-V synthetic
+	  keyboard/mouse/framebuffer device.</li>
+	<li>We are working on a disk detection issue: when a &os; VM
+	  runs on a Windows Server 2016 Technical Preview host, the VM
+	  will detect 16 disks whereas only 1 disk is configured for the
+	  VM.  Due to this issue, VMs running on these hosts can fail to
+	  boot.  A workaround patch was made and we are trying to make a
+	  formal fix.</li>
+	<li>We are tidying up some internal BIS test cases and plan
+	  to publish them on github.</li>
+      </ul>
+    </body>
+    <sponsor>
+      Microsoft
+    </sponsor>
+  </project>

More information about the svn-doc-all mailing list