svn commit: r212071 - head/sys/dev/bge

Pyun YongHyeon yongari at FreeBSD.org
Tue Aug 31 20:56:19 UTC 2010


Author: yongari
Date: Tue Aug 31 20:56:18 2010
New Revision: 212071
URL: http://svn.freebsd.org/changeset/base/212071

Log:
  Remove unnecessary atomic operation in bge_poll. bge(4) always
  holds a driver lock in the function entry and
  memory synchronization is handled by bus_dmamap_sync(9).

Modified:
  head/sys/dev/bge/if_bge.c

Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c	Tue Aug 31 20:21:52 2010	(r212070)
+++ head/sys/dev/bge/if_bge.c	Tue Aug 31 20:56:18 2010	(r212071)
@@ -3457,8 +3457,8 @@ bge_poll(struct ifnet *ifp, enum poll_cm
 	rx_prod = sc->bge_ldata.bge_status_block->bge_idx[0].bge_rx_prod_idx;
 	tx_cons = sc->bge_ldata.bge_status_block->bge_idx[0].bge_tx_cons_idx;
 
-	statusword = atomic_readandclear_32(
-	    &sc->bge_ldata.bge_status_block->bge_status);
+	statusword = sc->bge_ldata.bge_status_block->bge_status;
+	sc->bge_ldata.bge_status_block->bge_status = 0;
 
 	bus_dmamap_sync(sc->bge_cdata.bge_status_tag,
 	    sc->bge_cdata.bge_status_map,


More information about the svn-src-all mailing list