sfxge: Make it possible to build without EVQ statistics

Sponsored by:   Solarflare Communications, Inc.
Approved by:    gnn (mentor)
This commit is contained in:
Andrew Rybchenko 2015-01-29 18:54:43 +00:00
parent e5e313603c
commit fe9000816a
4 changed files with 14 additions and 0 deletions

View File

@ -995,6 +995,7 @@ fail1:
return (rc); return (rc);
} }
#if EFSYS_OPT_QSTATS
#if EFSYS_OPT_NAMES #if EFSYS_OPT_NAMES
/* START MKCONFIG GENERATED EfxEventQueueStatNamesBlock 67e9bdcd920059bd */ /* START MKCONFIG GENERATED EfxEventQueueStatNamesBlock 67e9bdcd920059bd */
static const char __cs * __cs __efx_ev_qstat_name[] = { static const char __cs * __cs __efx_ev_qstat_name[] = {
@ -1052,6 +1053,7 @@ efx_ev_qstat_name(
return (__efx_ev_qstat_name[id]); return (__efx_ev_qstat_name[id]);
} }
#endif /* EFSYS_OPT_NAMES */ #endif /* EFSYS_OPT_NAMES */
#endif /* EFSYS_OPT_QSTATS */
#if EFSYS_OPT_QSTATS #if EFSYS_OPT_QSTATS
void void

View File

@ -358,6 +358,7 @@ fail1:
return (rc); return (rc);
} }
#if EFSYS_OPT_QSTATS
#if EFSYS_OPT_NAMES #if EFSYS_OPT_NAMES
/* START MKCONFIG GENERATED EfxTransmitQueueStatNamesBlock 78ca9ab00287fffb */ /* START MKCONFIG GENERATED EfxTransmitQueueStatNamesBlock 78ca9ab00287fffb */
static const char __cs * __cs __efx_tx_qstat_name[] = { static const char __cs * __cs __efx_tx_qstat_name[] = {
@ -378,6 +379,7 @@ efx_tx_qstat_name(
return (__efx_tx_qstat_name[id]); return (__efx_tx_qstat_name[id]);
} }
#endif /* EFSYS_OPT_NAMES */ #endif /* EFSYS_OPT_NAMES */
#endif /* EFSYS_OPT_QSTATS */
#if EFSYS_OPT_QSTATS #if EFSYS_OPT_QSTATS
void void

View File

@ -225,8 +225,10 @@ struct sfxge_softc {
struct sfxge_evq *evq[SFXGE_RX_SCALE_MAX]; struct sfxge_evq *evq[SFXGE_RX_SCALE_MAX];
unsigned int ev_moderation; unsigned int ev_moderation;
#if EFSYS_OPT_QSTATS
clock_t ev_stats_update_time; clock_t ev_stats_update_time;
uint64_t ev_stats[EV_NQSTATS]; uint64_t ev_stats[EV_NQSTATS];
#endif
uma_zone_t rxq_cache; uma_zone_t rxq_cache;
struct sfxge_rxq *rxq[SFXGE_RX_SCALE_MAX]; struct sfxge_rxq *rxq[SFXGE_RX_SCALE_MAX];

View File

@ -406,6 +406,8 @@ sfxge_ev_wake_up(void *arg, uint32_t index)
return (B_FALSE); return (B_FALSE);
} }
#if EFSYS_OPT_QSTATS
static void static void
sfxge_ev_stat_update(struct sfxge_softc *sc) sfxge_ev_stat_update(struct sfxge_softc *sc)
{ {
@ -467,6 +469,8 @@ sfxge_ev_stat_init(struct sfxge_softc *sc)
} }
} }
#endif /* EFSYS_OPT_QSTATS */
static void static void
sfxge_ev_qmoderate(struct sfxge_softc *sc, unsigned int idx, unsigned int us) sfxge_ev_qmoderate(struct sfxge_softc *sc, unsigned int idx, unsigned int us)
{ {
@ -627,8 +631,10 @@ sfxge_ev_qstop(struct sfxge_softc *sc, unsigned int index)
evq->read_ptr = 0; evq->read_ptr = 0;
evq->exception = B_FALSE; evq->exception = B_FALSE;
#if EFSYS_OPT_QSTATS
/* Add event counts before discarding the common evq state */ /* Add event counts before discarding the common evq state */
efx_ev_qstats_update(evq->common, sc->ev_stats); efx_ev_qstats_update(evq->common, sc->ev_stats);
#endif
efx_ev_qdestroy(evq->common); efx_ev_qdestroy(evq->common);
efx_sram_buf_tbl_clear(sc->enp, evq->buf_base_id, efx_sram_buf_tbl_clear(sc->enp, evq->buf_base_id,
@ -883,7 +889,9 @@ sfxge_ev_init(struct sfxge_softc *sc)
goto fail; goto fail;
} }
#if EFSYS_OPT_QSTATS
sfxge_ev_stat_init(sc); sfxge_ev_stat_init(sc);
#endif
return (0); return (0);