svn commit: r277884 - head/sys/dev/sfxge
Andrew Rybchenko
arybchik at FreeBSD.org
Thu Jan 29 18:50:26 UTC 2015
Author: arybchik
Date: Thu Jan 29 18:50:25 2015
New Revision: 277884
URL: https://svnweb.freebsd.org/changeset/base/277884
Log:
sfxge: Change sfxge_ev_qpoll() proto to avoid EVQ pointers array access
It was the only place on data path where sc->evq array is accessed.
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)
Modified:
head/sys/dev/sfxge/sfxge.h
head/sys/dev/sfxge/sfxge_ev.c
head/sys/dev/sfxge/sfxge_intr.c
Modified: head/sys/dev/sfxge/sfxge.h
==============================================================================
--- head/sys/dev/sfxge/sfxge.h Thu Jan 29 18:44:21 2015 (r277883)
+++ head/sys/dev/sfxge/sfxge.h Thu Jan 29 18:50:25 2015 (r277884)
@@ -281,7 +281,7 @@ extern int sfxge_ev_init(struct sfxge_so
extern void sfxge_ev_fini(struct sfxge_softc *sc);
extern int sfxge_ev_start(struct sfxge_softc *sc);
extern void sfxge_ev_stop(struct sfxge_softc *sc);
-extern int sfxge_ev_qpoll(struct sfxge_softc *sc, unsigned int index);
+extern int sfxge_ev_qpoll(struct sfxge_evq *evq);
/*
* From sfxge_intr.c.
Modified: head/sys/dev/sfxge/sfxge_ev.c
==============================================================================
--- head/sys/dev/sfxge/sfxge_ev.c Thu Jan 29 18:44:21 2015 (r277883)
+++ head/sys/dev/sfxge/sfxge_ev.c Thu Jan 29 18:50:25 2015 (r277884)
@@ -569,13 +569,10 @@ static const efx_ev_callbacks_t sfxge_ev
int
-sfxge_ev_qpoll(struct sfxge_softc *sc, unsigned int index)
+sfxge_ev_qpoll(struct sfxge_evq *evq)
{
- struct sfxge_evq *evq;
int rc;
- evq = sc->evq[index];
-
mtx_lock(&evq->lock);
if (evq->init_state != SFXGE_EVQ_STARTING &&
Modified: head/sys/dev/sfxge/sfxge_intr.c
==============================================================================
--- head/sys/dev/sfxge/sfxge_intr.c Thu Jan 29 18:44:21 2015 (r277883)
+++ head/sys/dev/sfxge/sfxge_intr.c Thu Jan 29 18:50:25 2015 (r277884)
@@ -110,9 +110,8 @@ static void
sfxge_intr_line(void *arg)
{
struct sfxge_evq *evq = arg;
- struct sfxge_softc *sc = evq->sc;
- (void)sfxge_ev_qpoll(sc, 0);
+ (void)sfxge_ev_qpoll(evq);
}
static void
@@ -146,7 +145,7 @@ sfxge_intr_message(void *arg)
return;
}
- (void)sfxge_ev_qpoll(sc, index);
+ (void)sfxge_ev_qpoll(evq);
}
static int
More information about the svn-src-all
mailing list