diff options
author | Stefano Brivio <stefano.brivio@polimi.it> | 2007-12-18 19:26:16 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:59:41 -0500 |
commit | c21b39aca4f8f4975784e54cd3a1b80bab80dcc0 (patch) | |
tree | bcf9b8ab5ecdb77fbd7ff7e56bc6474334a5d008 /net/mac80211/Kconfig | |
parent | b92edbe0b8a36a833c16b0cbafb6e899b81ffc08 (diff) |
mac80211: make PID rate control algorithm the default
This makes the new PID TX rate control algorithm the default instead of the
rc80211_simple rate control algorithm. The simple algorithm was flawed in
several ways: it wasn't responsive at all and didn't age the information it was
relying on properly. The PID algorithm allows us to tune characteristics such
as responsiveness by adjusting parameters and was found to generally behave
better.
The default algorithm can be overridden to select simple instead. Which
ever algorithm is the default is included as part of the mac80211
module automatically. The other algorithm (simple vs. pid) can
be selected for inclusion as well. If EMBEDDED is selected then
the choice is available to have no default specified and neither
algorithm included in mac80211. The default algorithm can be set
through a modparam.
While at it, mark rc80211-simple as deprecated, and schedule it
for removal.
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>
Diffstat (limited to 'net/mac80211/Kconfig')
-rw-r--r-- | net/mac80211/Kconfig | 72 |
1 files changed, 59 insertions, 13 deletions
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig index 9f8663b412d9..297f4d967e2d 100644 --- a/net/mac80211/Kconfig +++ b/net/mac80211/Kconfig | |||
@@ -13,29 +13,75 @@ config MAC80211 | |||
13 | This option enables the hardware independent IEEE 802.11 | 13 | This option enables the hardware independent IEEE 802.11 |
14 | networking stack. | 14 | networking stack. |
15 | 15 | ||
16 | config MAC80211_RCSIMPLE | 16 | config MAC80211_RC_DEFAULT_CHOICE |
17 | bool "'simple' rate control algorithm" if EMBEDDED | 17 | bool "Choose default rate control algorithm" if EMBEDDED |
18 | default y | 18 | default y |
19 | depends on MAC80211 | 19 | depends on MAC80211 |
20 | help | 20 | ---help--- |
21 | This option allows you to turn off the 'simple' rate | 21 | This options enables selection of a default rate control |
22 | control algorithm in mac80211. If you do turn it off, | 22 | algorithm to be built into the mac80211 module. Alternate |
23 | you absolutely need another rate control algorithm. | 23 | rate control algorithms might be built into the mac80211 |
24 | module as well. | ||
25 | |||
26 | choice | ||
27 | prompt "Default rate control algorithm" | ||
28 | default MAC80211_RC_DEFAULT_PID | ||
29 | depends on MAC80211 && MAC80211_RC_DEFAULT_CHOICE | ||
30 | ---help--- | ||
31 | This option selects the default rate control algorithm | ||
32 | mac80211 will use. Note that this default can still be | ||
33 | overriden through the ieee80211_default_rc_algo module | ||
34 | parameter. | ||
35 | |||
36 | config MAC80211_RC_DEFAULT_PID | ||
37 | bool "PID controller based rate control algorithm" | ||
38 | select MAC80211_RC_PID | ||
39 | ---help--- | ||
40 | Select the PID controller based rate control as the | ||
41 | default rate control algorithm. You should choose | ||
42 | this unless you know what you are doing. | ||
43 | |||
44 | config MAC80211_RC_DEFAULT_SIMPLE | ||
45 | bool "Simple rate control algorithm" | ||
46 | select MAC80211_RC_SIMPLE | ||
47 | ---help--- | ||
48 | Select the simple rate control as the default rate | ||
49 | control algorithm. Note that this is a non-responsive, | ||
50 | dumb algorithm. You should choose the PID rate control | ||
51 | instead. | ||
52 | |||
53 | endchoice | ||
24 | 54 | ||
25 | Say Y unless you know you will have another algorithm | 55 | config MAC80211_RC_DEFAULT |
26 | available. | 56 | string |
57 | depends on MAC80211 | ||
58 | default "pid" if MAC80211_RC_DEFAULT_PID | ||
59 | default "simple" if MAC80211_RC_DEFAULT_SIMPLE | ||
60 | default "" | ||
27 | 61 | ||
28 | config MAC80211_RCPID | 62 | config MAC80211_RC_PID |
29 | bool "'PID' rate control algorithm" if EMBEDDED | 63 | bool "PID controller based rate control algorithm" |
30 | default y | 64 | default y |
31 | depends on MAC80211 | 65 | depends on MAC80211 |
32 | help | 66 | ---help--- |
33 | This option enables a TX rate control algorithm for | 67 | This option enables a TX rate control algorithm for |
34 | mac80211 that uses a PID controller to select the TX | 68 | mac80211 that uses a PID controller to select the TX |
35 | rate. | 69 | rate. |
36 | 70 | ||
37 | Say Y unless you're sure you want to use a different | 71 | Say Y or M unless you're sure you want to use a |
38 | rate control algorithm. | 72 | different rate control algorithm. |
73 | |||
74 | config MAC80211_RC_SIMPLE | ||
75 | bool "Simple rate control algorithm (DEPRECATED)" | ||
76 | default n | ||
77 | depends on MAC80211 | ||
78 | ---help--- | ||
79 | This option enables a very simple, non-responsive TX | ||
80 | rate control algorithm. This algorithm is deprecated | ||
81 | and will be removed from the kernel in near future. | ||
82 | It has been replaced by the PID algorithm. | ||
83 | |||
84 | Say N unless you know what you are doing. | ||
39 | 85 | ||
40 | config MAC80211_LEDS | 86 | config MAC80211_LEDS |
41 | bool "Enable LED triggers" | 87 | bool "Enable LED triggers" |