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,
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to