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

[ Available lists | Index of svn-src-all | Month of Aug 2010 | Week of 31 Aug 2010 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Pyun YongHyeon <yongari@FreeBSD.org>
Date
31 Aug 2010 20:56:19
Subject
svn commit: r212071 - head/sys/dev/bge
Message-ID
201008312056.o7VKuJ3Q041531@svn.freebsd.org


[ Hide this part ]
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,

Elapsed time: 0.092 seconds