rc80211-pid: pf_target tuning

Set a better value for percentage target for failed frames. The previous value
slowed down too much rate increases in case of permanently low activity. While
at it, increase readability.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Stefano Brivio 2007-12-23 04:44:56 +01:00 committed by David S. Miller
parent 13e05aa631
commit d439810bda

View File

@ -11,41 +11,41 @@
#define RC80211_PID_H #define RC80211_PID_H
/* Sampling period for measuring percentage of failed frames. */ /* Sampling period for measuring percentage of failed frames. */
#define RC_PID_INTERVAL (HZ / 8) #define RC_PID_INTERVAL (HZ / 8)
/* Exponential averaging smoothness (used for I part of PID controller) */ /* Exponential averaging smoothness (used for I part of PID controller) */
#define RC_PID_SMOOTHING_SHIFT 3 #define RC_PID_SMOOTHING_SHIFT 3
#define RC_PID_SMOOTHING (1 << RC_PID_SMOOTHING_SHIFT) #define RC_PID_SMOOTHING (1 << RC_PID_SMOOTHING_SHIFT)
/* Sharpening factor (used for D part of PID controller) */ /* Sharpening factor (used for D part of PID controller) */
#define RC_PID_SHARPENING_FACTOR 0 #define RC_PID_SHARPENING_FACTOR 0
#define RC_PID_SHARPENING_DURATION 0 #define RC_PID_SHARPENING_DURATION 0
/* Fixed point arithmetic shifting amount. */ /* Fixed point arithmetic shifting amount. */
#define RC_PID_ARITH_SHIFT 8 #define RC_PID_ARITH_SHIFT 8
/* Fixed point arithmetic factor. */ /* Fixed point arithmetic factor. */
#define RC_PID_ARITH_FACTOR (1 << RC_PID_ARITH_SHIFT) #define RC_PID_ARITH_FACTOR (1 << RC_PID_ARITH_SHIFT)
/* Proportional PID component coefficient. */ /* Proportional PID component coefficient. */
#define RC_PID_COEFF_P 15 #define RC_PID_COEFF_P 15
/* Integral PID component coefficient. */ /* Integral PID component coefficient. */
#define RC_PID_COEFF_I 9 #define RC_PID_COEFF_I 9
/* Derivative PID component coefficient. */ /* Derivative PID component coefficient. */
#define RC_PID_COEFF_D 15 #define RC_PID_COEFF_D 15
/* Target failed frames rate for the PID controller. NB: This effectively gives /* Target failed frames rate for the PID controller. NB: This effectively gives
* maximum failed frames percentage we're willing to accept. If the wireless * maximum failed frames percentage we're willing to accept. If the wireless
* link quality is good, the controller will fail to adjust failed frames * link quality is good, the controller will fail to adjust failed frames
* percentage to the target. This is intentional. * percentage to the target. This is intentional.
*/ */
#define RC_PID_TARGET_PF 11 #define RC_PID_TARGET_PF 14
/* Rate behaviour normalization quantity over time. */ /* Rate behaviour normalization quantity over time. */
#define RC_PID_NORM_OFFSET 3 #define RC_PID_NORM_OFFSET 3
/* Push high rates right after loading. */ /* Push high rates right after loading. */
#define RC_PID_FAST_START 0 #define RC_PID_FAST_START 0
/* Arithmetic right shift for positive and negative values for ISO C. */ /* Arithmetic right shift for positive and negative values for ISO C. */
#define RC_PID_DO_ARITH_RIGHT_SHIFT(x, y) \ #define RC_PID_DO_ARITH_RIGHT_SHIFT(x, y) \