Lines Matching defs:rate

88  * in "Bit-rate Selection in Wireless Networks"
91 * SampleRate chooses the bit-rate it predicts will provide the most
93 * transmission time for each bit-rate. SampleRate periodically sends
95 * another bit-rate will provide better performance. SampleRate
96 * switches to another bit-rate when its estimated per-packet
97 * transmission time becomes smaller than the current bit-rate's.
100 * currently being used. SampleRate also stops probing at a bit-rate
121 * given rate. For now this ignores SGI/LGI and will assume long-GI.
124 * (But it's also important because right now rate control doesn't set
127 * When selecting a set of rates the rate control code will iterate
131 * rate selection will closely match what the eventual formed aggregate
165 * MCS rate in the transmit schedule.
167 * Returns -1 if it's a legacy rate or no MRR.
208 * per rate is fixed, and (b) reliable packet transmission at those
209 * higher rates kinda needs a lower MCS rate in there somewhere.
213 * back to like MCS0/1 in hardware, and rate control will hopefully
216 * Once the whole rate schedule is passed into ath_rate_findrate(),
221 * current best rate..
328 if ((mask & 1) == 0) /* not a supported rate */
331 /* Don't pick a non-HT rate for a HT node */
350 /* don't use a bit-rate that has been failing */
355 * For HT, Don't use a bit rate that is more
368 "%s: size %d comparing best rate 0x%x pkts/ewma/tt (%ju/%d/%d) "
413 * Pick a good "random" bit-rate to sample other than the current one.
428 /* no successes yet, send at the lowest bit-rate */
435 rix = sn->last_sample_rix[size_bin]+1; /* next sample rate */
436 mask = sn->ratemask &~ ((uint64_t) 1<<current_rix);/* don't sample current rate */
438 if ((mask & ((uint64_t) 1<<rix)) == 0) { /* not a supported rate */
454 * selected rate is non-MCS, this won't work.
461 /* if the node is HT and the rate isn't HT, don't bother sample */
469 /* this bit-rate is always worse than the current one */
486 * This is limited to testing rate indexes on either side of
557 * A fixed rate is to be used; ucastrate is the IEEE code
558 * for this rate (sans basic bit). Check this against the
559 * negotiated rate set for the node. Note the fixed rate
561 * setup the static rate index if the lookup is successful.
570 * Pick a non-HT rate to begin using.
594 * Pick the highest rate <= 36 Mbps
609 * Pick a HT rate to begin using.
631 /* Keep a copy of the last seen HT rate index */
640 * Pick a medium-speed rate at 1 spatial stream
755 "sample rate %d %s current rate %d %s",
781 /* let the bit-rate switch quickly during the first few packets */
795 /* the current bit-rate is twice as slow as the best one */
806 * If the node is HT, it if the rate isn't the
808 * of the current rate. It can fail a little.
837 "%s: size %d switch rate %d %s (%d/%d) EWMA %d -> %d %s (%d/%d) EWMA %d after %d packets mrr %d",
997 * transmission at this rate did not.
1005 * given rate attempt, and outside of the RTS/CTS management
1006 * rate, it doesn't /really/ help.
1035 /* Calculate percentage based on current rate */
1064 "%s: size %d %s %s rate %d %s tries (%d/%d) tt %d "
1119 * There are still some places where what rate control set as
1127 * we may continue to hit corner cases where we make a rate
1153 "%s: size %d %s rate/try %d/%d no rates yet",
1174 * Only one rate was used; optimize work.
1177 &an->an_node, "%s: size %d (%d bytes) %s rate/short/long %d %s/%d/%d nframes/nbad [%d/%d]",
1199 "%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]",
1306 KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode));
1323 * to be ignored for doing rate control.
1350 ("rate %u has rix %d", RATE(x), rix));
1357 ieee80211_note(ni->ni_vap, "[%6D] %s: size 1600 rate/tt",
1376 /* XXX start with first valid rate */
1381 * indexed by the rate code index.
1384 if ((mask & 1) == 0) /* not a valid rate */
1411 /* set the visible bit-rate */
1426 * The main difference here is that we convert the rate indexes
1468 * Populate the rate table mapping TLV.
1479 * First TLV - rate code mapping
1580 int rate, error;
1582 rate = ssc->smoothing_rate;
1583 error = sysctl_handle_int(oidp, &rate, 0, req);
1586 if (!(0 <= rate && rate < 100))
1588 ssc->smoothing_rate = rate;
1589 ssc->smoothing_minpackets = 100 / (100 - rate);
1597 int rate, error;
1599 rate = ssc->sample_rate;
1600 error = sysctl_handle_int(oidp, &rate, 0, req);
1603 if (!(2 <= rate && rate <= 100))
1605 ssc->sample_rate = rate;
1618 "sample: smoothing rate for avg tx time (%%)");
1641 ssc->max_successive_failures = 3; /* threshold for rate sampling*/