Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Jun 2009 01:42:56 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r193193 - user/kmacy/releng_7_2_fcs/sys/sys
Message-ID:  <200906010142.n511guxx060347@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Mon Jun  1 01:42:56 2009
New Revision: 193193
URL: http://svn.freebsd.org/changeset/base/193193

Log:
  remove gratuitous memory barriers

Modified:
  user/kmacy/releng_7_2_fcs/sys/sys/buf_ring.h

Modified: user/kmacy/releng_7_2_fcs/sys/sys/buf_ring.h
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/sys/buf_ring.h	Mon Jun  1 01:02:30 2009	(r193192)
+++ user/kmacy/releng_7_2_fcs/sys/sys/buf_ring.h	Mon Jun  1 01:42:56 2009	(r193193)
@@ -117,7 +117,6 @@ buf_ring_enqueue(struct buf_ring *br, vo
 	while (br->br_prod_tail != prod_head)
 		cpu_spinwait();
 	br->br_prod_tail = prod_next;
-	mb();
 	critical_exit();
 	return (0);
 }
@@ -154,7 +153,7 @@ buf_ring_dequeue_mc(struct buf_ring *br)
 #ifdef DEBUG_BUFRING
 	br->br_ring[cons_head] = NULL;
 #endif
-	mb();
+	rmb();
 	
 	/*
 	 * If there are other dequeues in progress
@@ -165,7 +164,6 @@ buf_ring_dequeue_mc(struct buf_ring *br)
 		cpu_spinwait();
 
 	br->br_cons_tail = cons_next;
-	mb();
 	critical_exit();
 
 	return (buf);
@@ -196,7 +194,6 @@ buf_ring_dequeue_sc(struct buf_ring *br)
 	
 	br->br_cons_head = cons_next;
 	buf = br->br_ring[cons_head];
-	mb();
 	
 #ifdef DEBUG_BUFRING
 	br->br_ring[cons_head] = NULL;
@@ -207,7 +204,6 @@ buf_ring_dequeue_sc(struct buf_ring *br)
 		    br->br_cons_tail, cons_head);
 #endif
 	br->br_cons_tail = cons_next;
-	mb();
 	critical_exit();
 	return (buf);
 }
@@ -225,7 +221,7 @@ buf_ring_peek(struct buf_ring *br)
 	if ((br->br_lock != NULL) && !mtx_owned(br->br_lock))
 		panic("lock not held on single consumer dequeue");
 #endif	
-	mb();
+	wmb();
 	if (br->br_cons_head == br->br_prod_tail)
 		return (NULL);
 	



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906010142.n511guxx060347>