Add an option to allow the minimum number of delimiters to be tweaked.
This is primarily for debugging purposes. Tested: * AR5416, STA mode
This commit is contained in:
parent
85e51e4918
commit
a54ecf784a
@ -800,6 +800,7 @@ ath_attach(u_int16_t devid, struct ath_softc *sc)
|
||||
sc->sc_tid_hwq_lo = ATH_AGGR_SCHED_LOW;
|
||||
sc->sc_tid_hwq_hi = ATH_AGGR_SCHED_HIGH;
|
||||
sc->sc_aggr_limit = ATH_AGGR_MAXSIZE;
|
||||
sc->sc_delim_min_pad = 0;
|
||||
|
||||
/*
|
||||
* Check if the hardware requires PCI register serialisation.
|
||||
|
@ -714,9 +714,16 @@ ath_sysctlattach(struct ath_softc *sc)
|
||||
|
||||
/* Aggregate length twiddles */
|
||||
SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
|
||||
"aggr_limit", CTLFLAG_RW, &sc->sc_aggr_limit, 0, "");
|
||||
"aggr_limit", CTLFLAG_RW, &sc->sc_aggr_limit, 0,
|
||||
"Maximum A-MPDU size, or 0 for 'default'");
|
||||
SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
|
||||
"rts_aggr_limit", CTLFLAG_RW, &sc->sc_rts_aggr_limit, 0, "");
|
||||
"rts_aggr_limit", CTLFLAG_RW, &sc->sc_rts_aggr_limit, 0,
|
||||
"Maximum A-MPDU size for RTS-protected frames, or '0' "
|
||||
"for default");
|
||||
SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
|
||||
"delim_min_pad", CTLFLAG_RW, &sc->sc_delim_min_pad, 0,
|
||||
"Enforce a minimum number of delimiters per A-MPDU "
|
||||
" sub-frame");
|
||||
|
||||
SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
|
||||
"txq_data_minfree", CTLFLAG_RW, &sc->sc_txq_data_minfree,
|
||||
|
@ -364,6 +364,13 @@ ath_compute_num_delims(struct ath_softc *sc, struct ath_buf *first_bf,
|
||||
&& ndelim < AH_FIRST_DESC_NDELIMS)
|
||||
ndelim = AH_FIRST_DESC_NDELIMS;
|
||||
|
||||
/*
|
||||
* If sc_delim_min_pad is non-zero, enforce it as the minimum
|
||||
* pad delimiter count.
|
||||
*/
|
||||
if (sc->sc_delim_min_pad != 0)
|
||||
ndelim = MAX(ndelim, sc->sc_delim_min_pad);
|
||||
|
||||
DPRINTF(sc, ATH_DEBUG_SW_TX_AGGR,
|
||||
"%s: pktlen=%d, ndelim=%d, mpdudensity=%d\n",
|
||||
__func__, pktlen, ndelim, mpdudensity);
|
||||
|
@ -719,6 +719,7 @@ struct ath_softc {
|
||||
int sc_rxchainmask; /* currently configured RX chainmask */
|
||||
int sc_rts_aggr_limit; /* TX limit on RTS aggregates */
|
||||
int sc_aggr_limit; /* TX limit on all aggregates */
|
||||
int sc_delim_min_pad; /* Minimum delimiter count */
|
||||
|
||||
/* Queue limits */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user