Subject: [3/6] vxge: improve tx performance by using mmiowb() instead of wmb()

From: Benjamin LaHaise <[email-masked]>
Date: Tue, 4 Aug 2009 16:21:21 -0400

wmb() is extremely heavy on x86.  The semantics required in the driver are 
provided by mmiowb(), so use that and improve tx performance on P4 Xeons by 
5-10%.

Signed-off-by: Benjamin LaHaise <[email-masked]>
Signed-off-by: Sreenivasa Honnur <[email-masked]>
Signed-off-by: Ramkrishna Vepa <[email-masked]>
---
diff --git a/drivers/net/vxge/vxge-traffic.c b/drivers/net/vxge/vxge-traffic.c
index 370f55c..0efb769 100644
--- a/drivers/net/vxge/vxge-traffic.c
+++ b/drivers/net/vxge/vxge-traffic.c
@@ -1070,11 +1070,11 @@ static void __vxge_hw_non_offload_db_post(struct __vxge_hw_fifo *fifo,
 		VXGE_HW_NODBW_GET_NO_SNOOP(no_snoop),
 		&fifo->nofl_db->control_0);
 
-	wmb();
+	mmiowb();
 
 	writeq(txdl_ptr, &fifo->nofl_db->txdl_ptr);
-	wmb();
 
+	mmiowb();
 }
 
 /**