Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 368437
b: refs/heads/master
c: f744bf8
h: refs/heads/master
i:
  368435: 73def52
v: v3
  • Loading branch information
Thomas Huehn authored and Johannes Berg committed Mar 6, 2013
1 parent c816149 commit f8a8e02
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1e9c27df7b4a59f2269b9c88a5cef1e9018e77f6
refs/heads/master: f744bf81f7501d03f45ba23f9cf947abc3b422c9
20 changes: 7 additions & 13 deletions trunk/net/mac80211/rc80211_minstrel.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
#include "rate.h"
#include "rc80211_minstrel.h"

#define SAMPLE_COLUMNS 10
#define SAMPLE_TBL(_mi, _idx, _col) \
_mi->sample_table[(_idx * SAMPLE_COLUMNS) + _col]

Expand Down Expand Up @@ -210,7 +209,7 @@ minstrel_get_next_sample(struct minstrel_sta_info *mi)
unsigned int sample_ndx;
sample_ndx = SAMPLE_TBL(mi, mi->sample_row, mi->sample_column);
mi->sample_row++;
if ((int) mi->sample_row > (mi->n_rates - 2)) {
if ((int) mi->sample_row >= mi->n_rates) {
mi->sample_row = 0;
mi->sample_column++;
if (mi->sample_column >= SAMPLE_COLUMNS)
Expand Down Expand Up @@ -370,26 +369,21 @@ static void
init_sample_table(struct minstrel_sta_info *mi)
{
unsigned int i, col, new_idx;
unsigned int n_srates = mi->n_rates - 1;
u8 rnd[8];

mi->sample_column = 0;
mi->sample_row = 0;
memset(mi->sample_table, 0, SAMPLE_COLUMNS * mi->n_rates);
memset(mi->sample_table, 0xff, SAMPLE_COLUMNS * mi->n_rates);

for (col = 0; col < SAMPLE_COLUMNS; col++) {
for (i = 0; i < n_srates; i++) {
for (i = 0; i < mi->n_rates; i++) {
get_random_bytes(rnd, sizeof(rnd));
new_idx = (i + rnd[i & 7]) % n_srates;
new_idx = (i + rnd[i & 7]) % mi->n_rates;

while (SAMPLE_TBL(mi, new_idx, col) != 0)
new_idx = (new_idx + 1) % n_srates;
while (SAMPLE_TBL(mi, new_idx, col) != 0xff)
new_idx = (new_idx + 1) % mi->n_rates;

/* Don't sample the slowest rate (i.e. slowest base
* rate). We must presume that the slowest rate works
* fine, or else other management frames will also be
* failing and the link will break */
SAMPLE_TBL(mi, new_idx, col) = i + 1;
SAMPLE_TBL(mi, new_idx, col) = i;
}
}
}
Expand Down
4 changes: 3 additions & 1 deletion trunk/net/mac80211/rc80211_minstrel.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
#ifndef __RC_MINSTREL_H
#define __RC_MINSTREL_H

#define EWMA_LEVEL 75 /* ewma weighting factor [%] */
#define EWMA_LEVEL 75 /* ewma weighting factor [%] */
#define SAMPLE_COLUMNS 10 /* number of columns in sample table */


/* scaled fraction values */
#define MINSTREL_SCALE 16
Expand Down
1 change: 0 additions & 1 deletion trunk/net/mac80211/rc80211_minstrel_ht.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
#include "rc80211_minstrel_ht.h"

#define AVG_PKT_SIZE 1200
#define SAMPLE_COLUMNS 10

/* Number of bits for an average sized packet */
#define MCS_NBITS (AVG_PKT_SIZE << 3)
Expand Down

0 comments on commit f8a8e02

Please sign in to comment.