Lines Matching defs:rate
84 * in "Bit-rate Selection in Wireless Networks"
87 * SampleRate chooses the bit-rate it predicts will provide the most
89 * transmission time for each bit-rate. SampleRate periodically sends
91 * another bit-rate will provide better performance. SampleRate
92 * switches to another bit-rate when its estimated per-packet
93 * transmission time becomes smaller than the current bit-rate's.
96 * currently being used. SampleRate also stops probing at a bit-rate
174 if ((mask & 1) == 0) /* not a supported rate */
177 /* Don't pick a non-HT rate for a HT node */
197 /* don't use a bit-rate that has been failing */
202 * For HT, Don't use a bit rate that is much more
243 * Pick a good "random" bit-rate to sample other than the current one.
258 /* no successes yet, send at the lowest bit-rate */
265 rix = sn->last_sample_rix[size_bin]+1; /* next sample rate */
266 mask = sn->ratemask &~ ((uint64_t) 1<<current_rix);/* don't sample current rate */
268 if ((mask & ((uint64_t) 1<<rix)) == 0) { /* not a supported rate */
284 * selected rate is non-MCS, this won't work.
291 /* if the node is HT and the rate isn't HT, don't bother sample */
299 /* this bit-rate is always worse than the current one */
375 * A fixed rate is to be used; ucastrate is the IEEE code
376 * for this rate (sans basic bit). Check this against the
377 * negotiated rate set for the node. Note the fixed rate
379 * setup the static rate index if the lookup is successful.
388 * Pick a non-HT rate to begin using.
412 * Pick the highest rate <= 36 Mbps
427 * Pick a HT rate to begin using.
449 /* Keep a copy of the last seen HT rate index */
458 * Pick a medium-speed rate regardless of stream count
530 &an->an_node, "att %d sample_tt %d size %u sample rate %d %s current rate %d %s",
556 /* let the bit-rate switch quickly during the first few packets */
570 /* the current bit-rate is twice as slow as the best one */
581 * If the node is HT, upgrade it if the MCS rate is
583 * the current rate. It can fail a little.
609 "%s: size %d switch rate %d (%d/%d) -> %d (%d/%d) after %d packets mrr %d",
788 * bit-rate then a larger one will also.
806 /* Calculate percentage based on current rate */
828 "%s: size %d %s sample rate %d %s tries (%d/%d) tt %d avg_tt (%d/%d) nfrm %d nbad %d",
878 "%s: size %d %s rate/try %d/%d no rates yet",
898 * Only one rate was used; optimize work.
901 &an->an_node, "%s: size %d (%d bytes) %s rate/short/long %d %s/%d/%d nframes/nbad [%d/%d]",
926 "%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]",
1042 KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode));
1059 * to be ignored for doing rate control.
1086 ("rate %u has rix %d", RATE(x), rix));
1093 ieee80211_note(ni->ni_vap, "[%6D] %s: size 1600 rate/tt",
1112 /* XXX start with first valid rate */
1117 * indexed by the rate code index.
1120 if ((mask & 1) == 0) /* not a valid rate */
1147 /* set the visible bit-rate */
1162 * The main difference here is that we convert the rate indexes
1204 * Populate the rate table mapping TLV.
1215 * First TLV - rate code mapping
1317 int rate, error;
1319 rate = ssc->smoothing_rate;
1320 error = sysctl_handle_int(oidp, &rate, 0, req);
1323 if (!(0 <= rate && rate < 100))
1325 ssc->smoothing_rate = rate;
1326 ssc->smoothing_minpackets = 100 / (100 - rate);
1334 int rate, error;
1336 rate = ssc->sample_rate;
1337 error = sysctl_handle_int(oidp, &rate, 0, req);
1340 if (!(2 <= rate && rate <= 100))
1342 ssc->sample_rate = rate;
1355 "sample: smoothing rate for avg tx time (%%)");
1378 ssc->max_successive_failures = 3; /* threshold for rate sampling*/