Re: [PATCH v2 1/3] mac80211: improve PID rate control mechanism byavoiding rate oscillation problem
From: Julian Calaby
Date: Sun Mar 11 2012 - 21:14:36 EST
Hi Wei,
Much better!
Still a few style comments below.
On Mon, Mar 12, 2012 at 12:07, wei <yinwei168@xxxxxxxxx> wrote:
> From Wei YIN <Wei.Yin@xxxxxxxxxxxx>
> Improve PID rate control mechanism by avoiding rate oscillation problem
>
> Signed-off-by: Wei YIN <Wei.Yin@xxxxxxxxxxxx>
> ---
> kernel 3.3.0
> net/mac80211/rc80211_pid_algo.c | 392 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------
> 1 file changed, 317 insertions(+), 75 deletions(-)
>
> --- wireless-testing_orig/net/mac80211/rc80211_pid_algo.c 2012-02-17 13:59:53.495254495 +1000
> +++ wireless-testing/net/mac80211/rc80211_pid_algo.c 2012-03-08 20:00:31.791698813 +1000
> @@ -155,99 +217,239 @@ static void rate_control_pid_sample(stru
> /* Ignore all frames that were sent with a different rate than the rate
> * we currently advise mac80211 to use. */
> - if (info->status.rates[0].idx != spinfo->txrate_idx)
> - return;
>
> - spinfo->tx_num_xmit++;
> + if ((info->status.rates[0].idx != spinfo->txrate_idx) &&
> + (info->status.rates[0].idx != spinfo->tmp_rate_idx))
> + return;
You don't need the parentheses around the != expressions.
> @@ -271,14 +473,17 @@ rate_control_pid_get_rate(void *priv, st
> info->control.rates[0].count =
> txrc->hw->conf.long_frame_max_tx_count;
> else
> - info->control.rates[0].count =
> - txrc->hw->conf.short_frame_max_tx_count;
> -
> + info->control.rates[0].count = 2;
Should this be a constant or something? Why is this being set to 2?
> @@ -321,7 +530,7 @@ rate_control_pid_rate_init(void *priv, s
> s = false;
> for (j = 0; j < sband->n_bitrates - i; j++)
> if (unlikely(sband->bitrates[rinfo[j].index].bitrate >
> - sband->bitrates[rinfo[j + 1].index].bitrate)) {
> + sband->bitrates[rinfo[j + 1].index].bitrate)) {
You should drop this whitespace change as it's unrelated to the rest
of your patch.
Thanks,
--
Julian Calaby
Email: julian.calaby@xxxxxxxxx
Profile: http://www.google.com/profiles/julian.calaby/
.Plan: http://sites.google.com/site/juliancalaby/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/