From: Emmanuel Grumbach <egrumbach@gmail.com>
To: linux-wireless@vger.kernel.org
Cc: Eyal Shapira <eyal@wizery.com>,
Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Subject: [PATCH 03/13] iwlwifi: mvm: rs: update expected TPT tables if aggregation changed
Date: Mon, 2 Dec 2013 22:59:15 +0200 [thread overview]
Message-ID: <1386017965-13641-3-git-send-email-egrumbach@gmail.com> (raw)
In-Reply-To: <529CF2D6.1080008@gmail.com>
From: Eyal Shapira <eyal@wizery.com>
Expected TPT table was updated only when switching to a new
modulation. This is wrong as toggling aggregation changes
the expected TPT signficantly.
This leads to scenarios where turning aggregation on after
being in MIMO sends us back to SISO despite a perfect success
ratio.
This occurred because the TPT of the SISO mode was being
estimated based on aggregation while the MIMO one wasn't.
Also remove an error print which isn't an error anymore
since we might be updating the expected TPT table due
to aggregation changes.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
---
drivers/net/wireless/iwlwifi/mvm/rs.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.c b/drivers/net/wireless/iwlwifi/mvm/rs.c
index ecf24cb..882ecd3 100644
--- a/drivers/net/wireless/iwlwifi/mvm/rs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/rs.c
@@ -1717,6 +1717,7 @@ static void rs_rate_scale_perform(struct iwl_mvm *mvm,
u16 high_low;
s32 sr;
u8 tid = IWL_MAX_TID_COUNT;
+ u8 prev_agg = lq_sta->is_agg;
struct iwl_mvm_sta *sta_priv = (void *)sta->drv_priv;
struct iwl_mvm_tid_data *tid_data;
@@ -1752,6 +1753,13 @@ static void rs_rate_scale_perform(struct iwl_mvm *mvm,
tbl = &(lq_sta->lq_info[active_tbl]);
+ if (prev_agg != lq_sta->is_agg) {
+ IWL_DEBUG_RATE(mvm,
+ "Aggregation changed: prev %d current %d. Update expected TPT table\n",
+ prev_agg, lq_sta->is_agg);
+ rs_set_expected_tpt_table(lq_sta, tbl);
+ }
+
/* current tx rate */
index = lq_sta->last_txrate_idx;
@@ -1837,8 +1845,6 @@ static void rs_rate_scale_perform(struct iwl_mvm *mvm,
* actual average throughput */
if (window->average_tpt != ((window->success_ratio *
tbl->expected_tpt[index] + 64) / 128)) {
- IWL_ERR(mvm,
- "expected_tpt should have been calculated by now\n");
window->average_tpt = ((window->success_ratio *
tbl->expected_tpt[index] + 64) / 128);
}
--
1.7.9.5
next prev parent reply other threads:[~2013-12-02 20:59 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-02 20:51 pull request: iwlwifi-next 2013-12-2 Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 01/13] iwlwifi: mvm: rs: improve debug prints Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 02/13] iwlwifi: mvm: rs: reduce min failures to end test window Emmanuel Grumbach
2013-12-02 20:59 ` Emmanuel Grumbach [this message]
2013-12-02 20:59 ` [PATCH 04/13] iwlwifi: mvm: rs: rename thresholds defines Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 05/13] iwlwifi: mvm: rs: increase stay in column timeout Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 06/13] iwlwifi: mvm: rs: remove unused timestamp field Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 07/13] iwlwifi: mvm: rs: refactor to use rs_rate Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 08/13] iwlwifi: mvm: rs: remove unused parameter to rs_get_supported_rates Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 09/13] iwlwifi: mvm: rs: set dual_stream_ant_msk to ANT_AB always Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 10/13] iwlwifi: mvm: rs: fix mapping from HT/VHT rates to legacy Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 11/13] iwlwifi: mvm: rs: use the proper channel width define for legacy rate Emmanuel Grumbach
2013-12-02 20:59 ` [PATCH 12/13] iwlwifi: mvm: rs: overhaul search cycle state machine Emmanuel Grumbach
2014-01-06 15:07 ` Karl Beldan
2014-01-06 18:04 ` Eyal Shapira
2014-01-07 10:27 ` Karl Beldan
2014-01-07 16:30 ` Eyal Shapira
2014-01-07 18:13 ` Karl Beldan
2014-01-07 18:34 ` Eyal Shapira
2013-12-02 20:59 ` [PATCH 13/13] iwlwifi: mvm: BT Coex - enable Sync to SCO Emmanuel Grumbach
2013-12-03 17:19 ` pull request: iwlwifi-next 2013-12-2 Emmanuel Grumbach
2013-12-09 20:27 ` John W. Linville
2013-12-09 20:38 ` Emmanuel Grumbach
2013-12-11 15:50 ` John W. Linville
2013-12-09 20:32 ` Emmanuel Grumbach
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1386017965-13641-3-git-send-email-egrumbach@gmail.com \
--to=egrumbach@gmail.com \
--cc=emmanuel.grumbach@intel.com \
--cc=eyal@wizery.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).