On Mon, Dec 02, 2013 at 10:59:24PM +0200, Emmanuel Grumbach wrote: > From: Eyal Shapira <eyal@xxxxxxxxxx> > > Rewrite the search cycle state machine to use a more data > oriented approach where the different Tx columns (configs) > limitations and next columns to search are reprsented in > tables which are easy to change. This overhaul also includes > several major fixes: > > 1. Prevent going back to a specific Tx column in a search > cycle if it was already explored. > > 2. Avoid switching to a Tx column that doesn't have any chance > if it performs perfectly to beat the current throughput we're > getting. > > These issues were degrading throughput as they were causing > switching to "bad" Tx columns. > > Signed-off-by: Eyal Shapira <eyal@xxxxxxxxxx> > Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> > --- > drivers/net/wireless/iwlwifi/mvm/rs.c | 921 +++++++++++++++------------------ > drivers/net/wireless/iwlwifi/mvm/rs.h | 64 +-- > 2 files changed, 458 insertions(+), 527 deletions(-) > > @@ -1772,7 +1712,7 @@ static void rs_rate_scale_perform(struct iwl_mvm *mvm, [...] > - if (done_search && !lq_sta->stay_in_tbl) { > + if (done_search && lq_sta->rs_state == RS_STATE_SEARCH_CYCLE_ENDED) { > /* If the "active" (non-search) mode was legacy, [...] Hi, Trying -testing right now on my laptop and this commit broke aggregation. I haven't looked at the code but this seemed to help : - if (done_search && lq_sta->rs_state == RS_STATE_SEARCH_CYCLE_ENDED) { + if (done_search && lq_sta->rs_state != RS_STATE_STAY_IN_COLUMN) Karl -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html