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

Sepherosa Ziehau sephe at FreeBSD.org
Thu Apr 7 05:31:23 UTC 2016


Author: sephe
Date: Thu Apr  7 05:31:22 2016
New Revision: 297634
URL: https://svnweb.freebsd.org/changeset/base/297634

Log:
  hyperv: Use mb() instead of atomic_thread_fence_seq_cst()
  
  Since atomic_thread_fence_seq_cst() will become compiler fence on UP kernel.
  
  Reviewed by:	kib, Dexuan Cui <decui microsoft com>
  MFC after:	1 week
  Sponsored by:	Microsoft OSTC
  Differential Revision:	https://reviews.freebsd.org/D5852

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

Modified: head/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c
==============================================================================
--- head/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c	Thu Apr  7 04:23:25 2016	(r297633)
+++ head/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c	Thu Apr  7 05:31:22 2016	(r297634)
@@ -117,8 +117,12 @@ handled:
 	     * message_pending and EOMing. Otherwise, the EOMing will
 	     * not deliver any more messages
 	     * since there is no empty slot
+	     *
+	     * NOTE:
+	     * mb() is used here, since atomic_thread_fence_seq_cst()
+	     * will become compler fence on UP kernel.
 	     */
-	    atomic_thread_fence_seq_cst();
+	    mb();
 
 	    if (msg->header.message_flags.u.message_pending) {
 			/*
@@ -190,8 +194,12 @@ hv_vmbus_isr(struct trapframe *frame)
 		 * message_pending and EOMing. Otherwise, the EOMing will
 		 * not deliver any more messages
 		 * since there is no empty slot
+		 *
+		 * NOTE:
+		 * mb() is used here, since atomic_thread_fence_seq_cst()
+		 * will become compler fence on UP kernel.
 		 */
-		atomic_thread_fence_seq_cst();
+		mb();
 
 		if (msg->header.message_flags.u.message_pending) {
 			/*


More information about the svn-src-all mailing list