Commit 997bc71a authored by Stanislaw Gruszka's avatar Stanislaw Gruszka Committed by John W. Linville

iwl4965: disable 8K A-MSDU by default

iwlegacy version of this iwlwifi patch:

commit aed7d9ac
Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Date:   Wed Feb 20 11:33:00 2013 +0200

    iwlwifi: disable 8K A-MSDU by default

    Supporting 8K A-MSDU means that we need to allocate order 1
    pages for every Rx packet. Even when there is no traffic.
    This adds stress on the memory manager. The handling of
    compound pages is also less trivial for the memory manager
    and not using them will make the allocation code run faster
    although I didn't really measure.
    Eric also pointed out that having huge buffers with little
    data in them is not very nice towards the TCP stack since
    the truesize of the skb is huge. This doesn't allow TCP
    to have a big Rx window.
    See https://patchwork.kernel.org/patch/2167711/ for details.

    Note that very few vendors will actually send A-MSDU.
    Disable this feature by default.
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 76be3434
...@@ -92,7 +92,6 @@ il4965_check_abort_status(struct il_priv *il, u8 frame_count, u32 status) ...@@ -92,7 +92,6 @@ il4965_check_abort_status(struct il_priv *il, u8 frame_count, u32 status)
* EEPROM * EEPROM
*/ */
struct il_mod_params il4965_mod_params = { struct il_mod_params il4965_mod_params = {
.amsdu_size_8K = 1,
.restart_fw = 1, .restart_fw = 1,
/* the rest are 0 by default */ /* the rest are 0 by default */
}; };
...@@ -6866,6 +6865,6 @@ module_param_named(11n_disable, il4965_mod_params.disable_11n, int, S_IRUGO); ...@@ -6866,6 +6865,6 @@ module_param_named(11n_disable, il4965_mod_params.disable_11n, int, S_IRUGO);
MODULE_PARM_DESC(11n_disable, "disable 11n functionality"); MODULE_PARM_DESC(11n_disable, "disable 11n functionality");
module_param_named(amsdu_size_8K, il4965_mod_params.amsdu_size_8K, int, module_param_named(amsdu_size_8K, il4965_mod_params.amsdu_size_8K, int,
S_IRUGO); S_IRUGO);
MODULE_PARM_DESC(amsdu_size_8K, "enable 8K amsdu size"); MODULE_PARM_DESC(amsdu_size_8K, "enable 8K amsdu size (default 0 [disabled])");
module_param_named(fw_restart, il4965_mod_params.restart_fw, int, S_IRUGO); module_param_named(fw_restart, il4965_mod_params.restart_fw, int, S_IRUGO);
MODULE_PARM_DESC(fw_restart, "restart firmware in case of error"); MODULE_PARM_DESC(fw_restart, "restart firmware in case of error");
...@@ -1598,7 +1598,7 @@ struct il_mod_params { ...@@ -1598,7 +1598,7 @@ struct il_mod_params {
int disable_hw_scan; /* def: 0 = use h/w scan */ int disable_hw_scan; /* def: 0 = use h/w scan */
int num_of_queues; /* def: HW dependent */ int num_of_queues; /* def: HW dependent */
int disable_11n; /* def: 0 = 11n capabilities enabled */ int disable_11n; /* def: 0 = 11n capabilities enabled */
int amsdu_size_8K; /* def: 1 = enable 8K amsdu size */ int amsdu_size_8K; /* def: 0 = disable 8K amsdu size */
int antenna; /* def: 0 = both antennas (use diversity) */ int antenna; /* def: 0 = both antennas (use diversity) */
int restart_fw; /* def: 1 = restart firmware */ int restart_fw; /* def: 1 = restart firmware */
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment