Lines Matching refs:rate

86  * in "Bit-rate Selection in Wireless Networks"
89 * SampleRate chooses the bit-rate it predicts will provide the most
91 * transmission time for each bit-rate. SampleRate periodically sends
93 * another bit-rate will provide better performance. SampleRate
94 * switches to another bit-rate when its estimated per-packet
95 * transmission time becomes smaller than the current bit-rate's.
98 * currently being used. SampleRate also stops probing at a bit-rate
176 if ((mask & 1) == 0) /* not a supported rate */
179 /* Don't pick a non-HT rate for a HT node */
199 /* don't use a bit-rate that has been failing */
204 * For HT, Don't use a bit rate that is much more
245 * Pick a good "random" bit-rate to sample other than the current one.
260 /* no successes yet, send at the lowest bit-rate */
267 rix = sn->last_sample_rix[size_bin]+1; /* next sample rate */
268 mask = sn->ratemask &~ ((uint64_t) 1<<current_rix);/* don't sample current rate */
270 if ((mask & ((uint64_t) 1<<rix)) == 0) { /* not a supported rate */
286 * selected rate is non-MCS, this won't work.
293 /* if the node is HT and the rate isn't HT, don't bother sample */
301 /* this bit-rate is always worse than the current one */
377 * A fixed rate is to be used; ucastrate is the IEEE code
378 * for this rate (sans basic bit). Check this against the
379 * negotiated rate set for the node. Note the fixed rate
381 * setup the static rate index if the lookup is successful.
390 * Pick a non-HT rate to begin using.
414 * Pick the highest rate <= 36 Mbps
429 * Pick a HT rate to begin using.
451 /* Keep a copy of the last seen HT rate index */
460 * Pick a medium-speed rate regardless of stream count
531 &an->an_node, "att %d sample_tt %d size %u sample rate %d %s current rate %d %s",
557 /* let the bit-rate switch quickly during the first few packets */
571 /* the current bit-rate is twice as slow as the best one */
582 * If the node is HT, upgrade it if the MCS rate is
584 * the current rate. It can fail a little.
610 "%s: size %d switch rate %d (%d/%d) -> %d (%d/%d) after %d packets mrr %d",
789 * bit-rate then a larger one will also.
807 /* Calculate percentage based on current rate */
829 "%s: size %d %s sample rate %d %s tries (%d/%d) tt %d avg_tt (%d/%d) nfrm %d nbad %d",
880 "%s: size %d %s rate/try %d/%d no rates yet",
901 * Only one rate was used; optimize work.
904 &an->an_node, "%s: size %d (%d bytes) %s rate/short/long %d %s/%d/%d nframes/nbad [%d/%d]",
929 "%s: size %d (%d bytes) finaltsidx %d short %d long %d %s rate/try [%d %s/%d %d %s/%d %d %s/%d %d %s/%d] nframes/nbad [%d/%d]",
1045 KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode));
1062 * to be ignored for doing rate control.
1089 ("rate %u has rix %d", RATE(x), rix));
1096 ieee80211_note(ni->ni_vap, "[%6D] %s: size 1600 rate/tt",
1115 /* XXX start with first valid rate */
1120 * indexed by the rate code index.
1123 if ((mask & 1) == 0) /* not a valid rate */
1150 /* set the visible bit-rate */
1165 * The main difference here is that we convert the rate indexes
1207 * Populate the rate table mapping TLV.
1218 * First TLV - rate code mapping
1319 int rate, error;
1321 rate = ssc->smoothing_rate;
1322 error = sysctl_handle_int(oidp, &rate, 0, req);
1325 if (!(0 <= rate && rate < 100))
1327 ssc->smoothing_rate = rate;
1328 ssc->smoothing_minpackets = 100 / (100 - rate);
1336 int rate, error;
1338 rate = ssc->sample_rate;
1339 error = sysctl_handle_int(oidp, &rate, 0, req);
1342 if (!(2 <= rate && rate <= 100))
1344 ssc->sample_rate = rate;
1357 "sample: smoothing rate for avg tx time (%%)");
1380 ssc->max_successive_failures = 3; /* threshold for rate sampling*/