diff mbox

ath10k: Enable RX batching

Message ID 87fvbt62x9.fsf@kamboji.qca.qualcomm.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Kalle Valo Jan. 2, 2015, 7:45 a.m. UTC
Sujith Manoharan <sujith@msujith.org> writes:

> From: Sujith Manoharan <c_manoha@qca.qualcomm.com>
>
> This feature allows the FW to batch RX indications,
> reducing the rate of host interrupt generation, which
> in turn reduces CPU load. Currently, this is enabled
> only for the 10.2 firmware.
>
> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>

Any throughput improvements?

Also I simplified the patch a bit in ath-next-test:

Comments

Sujith Manoharan Jan. 2, 2015, 8:41 a.m. UTC | #1
Kalle Valo wrote:
> Any throughput improvements?

Along with the other patch and an internal fix,
UDP RX increased to about 950 Mbps.

Sujith
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kalle Valo Jan. 2, 2015, 8:49 a.m. UTC | #2
Sujith Manoharan <sujith@msujith.org> writes:

> Along with the other patch and an internal fix,
> UDP RX increased to about 950 Mbps.

What was the number before?
Sujith Manoharan Jan. 2, 2015, 10:43 a.m. UTC | #3
Kalle Valo wrote:
> > Along with the other patch and an internal fix,
> > UDP RX increased to about 950 Mbps.
> 
> What was the number before?

It was about 600 Mbps. Maybe slightly higher, but the CPU
was maxed out by the torrent of tasklets trying to
replenish HTT buffers.

Sujith
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kalle Valo Jan. 2, 2015, 1:33 p.m. UTC | #4
Sujith Manoharan <sujith@msujith.org> writes:

> Kalle Valo wrote:
>> > Along with the other patch and an internal fix,
>> > UDP RX increased to about 950 Mbps.
>> 
>> What was the number before?
>
> It was about 600 Mbps. Maybe slightly higher, but the CPU
> was maxed out by the torrent of tasklets trying to
> replenish HTT buffers.

Wow, that's a huge improvement.
diff mbox

Patch

--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -3710,7 +3710,7 @@  static struct sk_buff *ath10k_wmi_10_2_op_gen_init(struct ath10k *ar)
        struct wmi_init_cmd_10_2 *cmd;
        struct sk_buff *buf;
        struct wmi_resource_config_10x config = {};
-       u32 len, val, features = 0;
+       u32 len, val, features;
 
        config.num_vdevs = __cpu_to_le32(TARGET_10X_NUM_VDEVS);
        config.num_peers = __cpu_to_le32(TARGET_10X_NUM_PEERS);
@@ -3764,7 +3764,7 @@  static struct sk_buff *ath10k_wmi_10_2_op_gen_init(struct ath10k *ar)
 
        cmd = (struct wmi_init_cmd_10_2 *)buf->data;
 
-       features |= WMI_10_2_RX_BATCH_MODE;
+       features = WMI_10_2_RX_BATCH_MODE;
        cmd->resource_config.feature_mask = __cpu_to_le32(features);
 
        memcpy(&cmd->resource_config.common, &config, sizeof(config));