Lines Matching full:ssc
415 pick_sample_rate(struct sample_softc *ssc , struct ath_node *an,
475 if (sn->stats[size_bin][rix].successive_failures > ssc->max_successive_failures &&
476 ticks - sn->stats[size_bin][rix].last_tx < ssc->stale_failure_timeout) {
669 struct sample_softc *ssc = ATH_SOFTC_SAMPLE(sc);
750 (sn->packets_since_sample[size_bin]*ssc->sample_rate/100)) {
751 rix = pick_sample_rate(ssc, an, rt, size_bin);
785 } else if (ticks - ssc->min_switch > sn->ticks_since_switch[size_bin]) {
790 __func__, ticks - ssc->min_switch, sn->ticks_since_switch[size_bin]);
970 struct sample_softc *ssc = ATH_SOFTC_SAMPLE(sc);
1010 if (sn->stats[size_bin][rix0].total_packets < ssc->smoothing_minpackets) {
1018 ((sn->stats[size_bin][rix0].average_tx_time * ssc->smoothing_rate) +
1019 (tt * (100 - ssc->smoothing_rate))) / 100;
1040 ssc->smoothing_minpackets) {
1048 ((sn->stats[size_bin][rix0].ewma_pct * ssc->smoothing_rate) +
1049 (pct * (100 - ssc->smoothing_rate))) / 100;
1588 struct sample_softc *ssc = arg1;
1591 rate = ssc->smoothing_rate;
1597 ssc->smoothing_rate = rate;
1598 ssc->smoothing_minpackets = 100 / (100 - rate);
1605 struct sample_softc *ssc = arg1;
1608 rate = ssc->sample_rate;
1614 ssc->sample_rate = rate;
1619 ath_rate_sysctlattach(struct ath_softc *sc, struct sample_softc *ssc)
1626 ssc, 0, ath_rate_sysctl_smoothing_rate, "I",
1630 ssc, 0, ath_rate_sysctl_sample_rate, "I",
1641 struct sample_softc *ssc;
1643 ssc = malloc(sizeof(struct sample_softc), M_DEVBUF, M_NOWAIT|M_ZERO);
1644 if (ssc == NULL)
1646 ssc->arc.arc_space = sizeof(struct sample_node);
1647 ssc->smoothing_rate = 75; /* ewma percentage ([0..99]) */
1648 ssc->smoothing_minpackets = 100 / (100 - ssc->smoothing_rate);
1649 ssc->sample_rate = 10; /* %time to try diff tx rates */
1650 ssc->max_successive_failures = 3; /* threshold for rate sampling*/
1651 ssc->stale_failure_timeout = 10 * hz; /* 10 seconds */
1652 ssc->min_switch = hz; /* 1 second */
1653 ath_rate_sysctlattach(sc, ssc);
1654 return &ssc->arc;
1660 struct sample_softc *ssc = (struct sample_softc *) arc;
1662 free(ssc, M_DEVBUF);