Lines Matching refs:ssc

248 pick_sample_rate(struct sample_softc *ssc , struct ath_node *an,
308 if (sn->stats[size_bin][rix].successive_failures > ssc->max_successive_failures &&
309 ticks - sn->stats[size_bin][rix].last_tx < ssc->stale_failure_timeout) {
490 struct sample_softc *ssc = ATH_SOFTC_SAMPLE(sc);
528 if (sn->sample_tt[size_bin] < average_tx_time * (sn->packets_since_sample[size_bin]*ssc->sample_rate/100)) {
529 rix = pick_sample_rate(ssc, an, rt, size_bin);
562 } else if (ticks - ssc->min_switch > sn->ticks_since_switch[size_bin]) {
567 __func__, ticks - ssc->min_switch, sn->ticks_since_switch[size_bin]);
723 struct sample_softc *ssc = ATH_SOFTC_SAMPLE(sc);
762 if (sn->stats[size_bin][rix0].total_packets < ssc->smoothing_minpackets) {
770 ((sn->stats[size_bin][rix0].average_tx_time * ssc->smoothing_rate) +
771 (tt * (100 - ssc->smoothing_rate))) / 100;
813 ssc->smoothing_minpackets) {
821 ((sn->stats[size_bin][rix0].ewma_pct * ssc->smoothing_rate) +
822 (pct * (100 - ssc->smoothing_rate))) / 100;
1318 struct sample_softc *ssc = arg1;
1321 rate = ssc->smoothing_rate;
1327 ssc->smoothing_rate = rate;
1328 ssc->smoothing_minpackets = 100 / (100 - rate);
1335 struct sample_softc *ssc = arg1;
1338 rate = ssc->sample_rate;
1344 ssc->sample_rate = rate;
1349 ath_rate_sysctlattach(struct ath_softc *sc, struct sample_softc *ssc)
1355 "smoothing_rate", CTLTYPE_INT | CTLFLAG_RW, ssc, 0,
1359 "sample_rate", CTLTYPE_INT | CTLFLAG_RW, ssc, 0,
1371 struct sample_softc *ssc;
1373 ssc = malloc(sizeof(struct sample_softc), M_DEVBUF, M_NOWAIT|M_ZERO);
1374 if (ssc == NULL)
1376 ssc->arc.arc_space = sizeof(struct sample_node);
1377 ssc->smoothing_rate = 75; /* ewma percentage ([0..99]) */
1378 ssc->smoothing_minpackets = 100 / (100 - ssc->smoothing_rate);
1379 ssc->sample_rate = 10; /* %time to try diff tx rates */
1380 ssc->max_successive_failures = 3; /* threshold for rate sampling*/
1381 ssc->stale_failure_timeout = 10 * hz; /* 10 seconds */
1382 ssc->min_switch = hz; /* 1 second */
1383 ath_rate_sysctlattach(sc, ssc);
1384 return &ssc->arc;
1390 struct sample_softc *ssc = (struct sample_softc *) arc;
1392 free(ssc, M_DEVBUF);