svn commit: r301109 - head/sys/dev/hyperv/vmbus

Sepherosa Ziehau sephe at FreeBSD.org
Wed Jun 1 07:11:56 UTC 2016


Author: sephe
Date: Wed Jun  1 07:11:54 2016
New Revision: 301109
URL: https://svnweb.freebsd.org/changeset/base/301109

Log:
  hyperv/channel: Only cpu0 is supported as channel target cpu on WIN7
  
  MFC after:	1 week
  Sponsored by:	Microsoft OSTC

Modified:
  head/sys/dev/hyperv/vmbus/hv_channel_mgmt.c

Modified: head/sys/dev/hyperv/vmbus/hv_channel_mgmt.c
==============================================================================
--- head/sys/dev/hyperv/vmbus/hv_channel_mgmt.c	Wed Jun  1 07:03:11 2016	(r301108)
+++ head/sys/dev/hyperv/vmbus/hv_channel_mgmt.c	Wed Jun  1 07:11:54 2016	(r301109)
@@ -302,6 +302,12 @@ vmbus_channel_cpu_set(struct hv_vmbus_ch
 {
 	KASSERT(cpu >= 0 && cpu < mp_ncpus, ("invalid cpu %d", cpu));
 
+	if (hv_vmbus_protocal_version == HV_VMBUS_VERSION_WS2008 ||
+	    hv_vmbus_protocal_version == HV_VMBUS_VERSION_WIN7) {
+		/* Only cpu0 is supported */
+		cpu = 0;
+	}
+
 	chan->target_cpu = cpu;
 	chan->target_vcpu = VMBUS_PCPU_GET(vmbus_get_softc(), vcpuid, cpu);
 
@@ -359,9 +365,7 @@ vmbus_channel_select_defcpu(struct hv_vm
 		}
 	}
 
-	if ((hv_vmbus_protocal_version == HV_VMBUS_VERSION_WS2008) ||
-	    (hv_vmbus_protocal_version == HV_VMBUS_VERSION_WIN7) ||
-	    (!is_perf_channel)) {
+	if (!is_perf_channel) {
 		/* Stick to cpu0 */
 		vmbus_channel_cpu_set(channel, 0);
 		return;


More information about the svn-src-all mailing list