svn commit: r225075 - user/adrian/if_ath_tx/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Mon Aug 22 07:55:49 UTC 2011
Author: adrian
Date: Mon Aug 22 07:55:48 2011
New Revision: 225075
URL: http://svn.freebsd.org/changeset/base/225075
Log:
Add parameters to tweak aggregation thresholds.
Modified:
user/adrian/if_ath_tx/sys/dev/ath/if_ath.c
user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c
user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Aug 22 06:33:03 2011 (r225074)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Aug 22 07:55:48 2011 (r225075)
@@ -1660,6 +1660,13 @@ ath_init(void *arg)
sc->sc_beacons = 0;
/*
+ * Initial aggregation settings.
+ */
+ sc->sc_hwq_limit = ATH_AGGR_MIN_QDEPTH;
+ sc->sc_tid_hwq_lo = ATH_AGGR_SCHED_LOW;
+ sc->sc_tid_hwq_hi = ATH_AGGR_SCHED_HIGH;
+
+ /*
* Setup the hardware after reset: the key cache
* is filled as needed and the receive engine is
* set going. Frame transmit is handled entirely
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c Mon Aug 22 06:33:03 2011 (r225074)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c Mon Aug 22 07:55:48 2011 (r225075)
@@ -518,6 +518,17 @@ ath_sysctlattach(struct ath_softc *sc)
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
"monpass", CTLFLAG_RW, &sc->sc_monpass, 0,
"mask of error frames to pass when monitoring");
+
+ SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+ "hwq_limit", CTLFLAG_RW, &sc->sc_hwq_limit, 0,
+ "");
+ SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+ "tid_hwq_lo", CTLFLAG_RW, &sc->sc_tid_hwq_lo, 0,
+ "");
+ SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+ "tid_hwq_hi", CTLFLAG_RW, &sc->sc_tid_hwq_hi, 0,
+ "");
+
#ifdef IEEE80211_SUPPORT_TDMA
if (ath_hal_macversion(ah) > 0x78) {
sc->sc_tdmadbaprep = 2;
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Mon Aug 22 06:33:03 2011 (r225074)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Mon Aug 22 07:55:48 2011 (r225075)
@@ -483,6 +483,20 @@ struct ath_softc {
int sc_txchainmask; /* currently configured TX chainmask */
int sc_rxchainmask; /* currently configured RX chainmask */
+ /*
+ * Aggregation twiddles
+ *
+ * hwq_limit: how busy to keep the hardware queue - don't schedule
+ * further packets to the hardware, regardless of the TID
+ * tid_hwq_lo: how low the per-TID hwq count has to be before the
+ * TID will be scheduled again
+ * tid_hwq_hi: how many frames to queue to the HWQ before the TID
+ * stops being scheduled.
+ */
+ int sc_hwq_limit;
+ int sc_tid_hwq_lo;
+ int sc_tid_hwq_hi;
+
/* DFS related state */
void *sc_dfs; /* Used by an optional DFS module */
int sc_dodfs; /* Whether to enable DFS rx filter bits */
More information about the svn-src-user
mailing list