Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Aug 2010 20:56:19 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r212071 - head/sys/dev/bge
Message-ID:  <201008312056.o7VKuJ3Q041531@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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,



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