Search Linux Wireless

Re: [PATCH 12/13] iwlwifi: mvm: rs: overhaul search cycle state machine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 6, 2014 at 5:07 PM, Karl Beldan <karl.beldan@xxxxxxxxx> wrote:
> 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.
>

Thanks Karl for the report.
I'm seeing Tx aggregation. Note that it doesn't start off immediately
but only after enough traffic went through for us to explore different
Tx configurations.

Some questions:
1. How do you see aggregation is broken ? sniffer or just lower
throughput you're getting ?
2. What's the chip ?
3. Do you connect in 11n or 11ac ?
4. Any chance you can set module parameter debug=0x04100000 and send the logs ?
Configuring IWLWIFI_DEBUG is required.

> 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)

This wouldn't be good as it might get us stuck on non optimal Tx
configurations before exploring other better ones.

Thanks,
Eyal
--
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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux