Lines Matching refs:ssc

414 pick_sample_rate(struct sample_softc *ssc , struct ath_node *an,  in pick_sample_rate()  argument
474 if (sn->stats[size_bin][rix].successive_failures > ssc->max_successive_failures && in pick_sample_rate()
475 ticks - sn->stats[size_bin][rix].last_tx < ssc->stale_failure_timeout) { in pick_sample_rate()
668 struct sample_softc *ssc = ATH_SOFTC_SAMPLE(sc); in ath_rate_findrate() local
749 (sn->packets_since_sample[size_bin]*ssc->sample_rate/100)) { in ath_rate_findrate()
750 rix = pick_sample_rate(ssc, an, rt, size_bin); in ath_rate_findrate()
784 } else if (ticks - ssc->min_switch > sn->ticks_since_switch[size_bin]) { in ath_rate_findrate()
789 __func__, ticks - ssc->min_switch, sn->ticks_since_switch[size_bin]); in ath_rate_findrate()
969 struct sample_softc *ssc = ATH_SOFTC_SAMPLE(sc); in update_stats() local
1009 if (sn->stats[size_bin][rix0].total_packets < ssc->smoothing_minpackets) { in update_stats()
1017 ((sn->stats[size_bin][rix0].average_tx_time * ssc->smoothing_rate) + in update_stats()
1018 (tt * (100 - ssc->smoothing_rate))) / 100; in update_stats()
1039 ssc->smoothing_minpackets) { in update_stats()
1047 ((sn->stats[size_bin][rix0].ewma_pct * ssc->smoothing_rate) + in update_stats()
1048 (pct * (100 - ssc->smoothing_rate))) / 100; in update_stats()
1587 struct sample_softc *ssc = arg1; in ath_rate_sysctl_smoothing_rate() local
1590 rate = ssc->smoothing_rate; in ath_rate_sysctl_smoothing_rate()
1596 ssc->smoothing_rate = rate; in ath_rate_sysctl_smoothing_rate()
1597 ssc->smoothing_minpackets = 100 / (100 - rate); in ath_rate_sysctl_smoothing_rate()
1604 struct sample_softc *ssc = arg1; in ath_rate_sysctl_sample_rate() local
1607 rate = ssc->sample_rate; in ath_rate_sysctl_sample_rate()
1613 ssc->sample_rate = rate; in ath_rate_sysctl_sample_rate()
1618 ath_rate_sysctlattach(struct ath_softc *sc, struct sample_softc *ssc) in ath_rate_sysctlattach() argument
1625 ssc, 0, ath_rate_sysctl_smoothing_rate, "I", in ath_rate_sysctlattach()
1629 ssc, 0, ath_rate_sysctl_sample_rate, "I", in ath_rate_sysctlattach()
1640 struct sample_softc *ssc; in ath_rate_attach() local
1642 ssc = malloc(sizeof(struct sample_softc), M_DEVBUF, M_NOWAIT|M_ZERO); in ath_rate_attach()
1643 if (ssc == NULL) in ath_rate_attach()
1645 ssc->arc.arc_space = sizeof(struct sample_node); in ath_rate_attach()
1646 ssc->smoothing_rate = 75; /* ewma percentage ([0..99]) */ in ath_rate_attach()
1647 ssc->smoothing_minpackets = 100 / (100 - ssc->smoothing_rate); in ath_rate_attach()
1648 ssc->sample_rate = 10; /* %time to try diff tx rates */ in ath_rate_attach()
1649 ssc->max_successive_failures = 3; /* threshold for rate sampling*/ in ath_rate_attach()
1650 ssc->stale_failure_timeout = 10 * hz; /* 10 seconds */ in ath_rate_attach()
1651 ssc->min_switch = hz; /* 1 second */ in ath_rate_attach()
1652 ath_rate_sysctlattach(sc, ssc); in ath_rate_attach()
1653 return &ssc->arc; in ath_rate_attach()
1659 struct sample_softc *ssc = (struct sample_softc *) arc; in ath_rate_detach() local
1661 free(ssc, M_DEVBUF); in ath_rate_detach()