|
@@ -41,6 +41,7 @@ minstrel_ht_stats_dump(struct minstrel_ht_sta *mi, int i, char *p)
|
|
struct minstrel_rate_stats *mrs = &mi->groups[i].rates[j];
|
|
struct minstrel_rate_stats *mrs = &mi->groups[i].rates[j];
|
|
static const int bitrates[4] = { 10, 20, 55, 110 };
|
|
static const int bitrates[4] = { 10, 20, 55, 110 };
|
|
int idx = i * MCS_GROUP_RATES + j;
|
|
int idx = i * MCS_GROUP_RATES + j;
|
|
|
|
+ unsigned int prob_ewmsd;
|
|
|
|
|
|
if (!(mi->supported[i] & BIT(j)))
|
|
if (!(mi->supported[i] & BIT(j)))
|
|
continue;
|
|
continue;
|
|
@@ -84,6 +85,7 @@ minstrel_ht_stats_dump(struct minstrel_ht_sta *mi, int i, char *p)
|
|
tp_max = minstrel_ht_get_tp_avg(mi, i, j, MINSTREL_FRAC(100, 100));
|
|
tp_max = minstrel_ht_get_tp_avg(mi, i, j, MINSTREL_FRAC(100, 100));
|
|
tp_avg = minstrel_ht_get_tp_avg(mi, i, j, mrs->prob_ewma);
|
|
tp_avg = minstrel_ht_get_tp_avg(mi, i, j, mrs->prob_ewma);
|
|
eprob = MINSTREL_TRUNC(mrs->prob_ewma * 1000);
|
|
eprob = MINSTREL_TRUNC(mrs->prob_ewma * 1000);
|
|
|
|
+ prob_ewmsd = minstrel_get_ewmsd10(mrs);
|
|
|
|
|
|
p += sprintf(p, "%4u.%1u %4u.%1u %3u.%1u %3u.%1u"
|
|
p += sprintf(p, "%4u.%1u %4u.%1u %3u.%1u %3u.%1u"
|
|
" %3u %3u %-3u "
|
|
" %3u %3u %-3u "
|
|
@@ -91,7 +93,7 @@ minstrel_ht_stats_dump(struct minstrel_ht_sta *mi, int i, char *p)
|
|
tp_max / 10, tp_max % 10,
|
|
tp_max / 10, tp_max % 10,
|
|
tp_avg / 10, tp_avg % 10,
|
|
tp_avg / 10, tp_avg % 10,
|
|
eprob / 10, eprob % 10,
|
|
eprob / 10, eprob % 10,
|
|
- mrs->prob_ewmsd / 10, mrs->prob_ewmsd % 10,
|
|
|
|
|
|
+ prob_ewmsd / 10, prob_ewmsd % 10,
|
|
mrs->retry_count,
|
|
mrs->retry_count,
|
|
mrs->last_success,
|
|
mrs->last_success,
|
|
mrs->last_attempts,
|
|
mrs->last_attempts,
|
|
@@ -185,6 +187,7 @@ minstrel_ht_stats_csv_dump(struct minstrel_ht_sta *mi, int i, char *p)
|
|
struct minstrel_rate_stats *mrs = &mi->groups[i].rates[j];
|
|
struct minstrel_rate_stats *mrs = &mi->groups[i].rates[j];
|
|
static const int bitrates[4] = { 10, 20, 55, 110 };
|
|
static const int bitrates[4] = { 10, 20, 55, 110 };
|
|
int idx = i * MCS_GROUP_RATES + j;
|
|
int idx = i * MCS_GROUP_RATES + j;
|
|
|
|
+ unsigned int prob_ewmsd;
|
|
|
|
|
|
if (!(mi->supported[i] & BIT(j)))
|
|
if (!(mi->supported[i] & BIT(j)))
|
|
continue;
|
|
continue;
|
|
@@ -225,13 +228,14 @@ minstrel_ht_stats_csv_dump(struct minstrel_ht_sta *mi, int i, char *p)
|
|
tp_max = minstrel_ht_get_tp_avg(mi, i, j, MINSTREL_FRAC(100, 100));
|
|
tp_max = minstrel_ht_get_tp_avg(mi, i, j, MINSTREL_FRAC(100, 100));
|
|
tp_avg = minstrel_ht_get_tp_avg(mi, i, j, mrs->prob_ewma);
|
|
tp_avg = minstrel_ht_get_tp_avg(mi, i, j, mrs->prob_ewma);
|
|
eprob = MINSTREL_TRUNC(mrs->prob_ewma * 1000);
|
|
eprob = MINSTREL_TRUNC(mrs->prob_ewma * 1000);
|
|
|
|
+ prob_ewmsd = minstrel_get_ewmsd10(mrs);
|
|
|
|
|
|
p += sprintf(p, "%u.%u,%u.%u,%u.%u,%u.%u,%u,%u,"
|
|
p += sprintf(p, "%u.%u,%u.%u,%u.%u,%u.%u,%u,%u,"
|
|
"%u,%llu,%llu,",
|
|
"%u,%llu,%llu,",
|
|
tp_max / 10, tp_max % 10,
|
|
tp_max / 10, tp_max % 10,
|
|
tp_avg / 10, tp_avg % 10,
|
|
tp_avg / 10, tp_avg % 10,
|
|
eprob / 10, eprob % 10,
|
|
eprob / 10, eprob % 10,
|
|
- mrs->prob_ewmsd / 10, mrs->prob_ewmsd % 10,
|
|
|
|
|
|
+ prob_ewmsd / 10, prob_ewmsd % 10,
|
|
mrs->retry_count,
|
|
mrs->retry_count,
|
|
mrs->last_success,
|
|
mrs->last_success,
|
|
mrs->last_attempts,
|
|
mrs->last_attempts,
|