All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ath10k: Enable RX batching
@ 2014-12-29  6:21 ` Sujith Manoharan
  0 siblings, 0 replies; 14+ messages in thread
From: Sujith Manoharan @ 2014-12-29  6:21 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless

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>
---
 drivers/net/wireless/ath/ath10k/wmi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
index b103122..aad08a2 100644
--- 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;
+	u32 len, val, features = 0;
 
 	config.num_vdevs = __cpu_to_le32(TARGET_10X_NUM_VDEVS);
 	config.num_peers = __cpu_to_le32(TARGET_10X_NUM_PEERS);
@@ -3764,6 +3764,9 @@ 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;
+	cmd->resource_config.feature_mask = __cpu_to_le32(features);
+
 	memcpy(&cmd->resource_config.common, &config, sizeof(config));
 	ath10k_wmi_put_host_mem_chunks(ar, &cmd->mem_chunks);
 
-- 
2.2.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH] ath10k: Enable RX batching
@ 2014-12-29  6:21 ` Sujith Manoharan
  0 siblings, 0 replies; 14+ messages in thread
From: Sujith Manoharan @ 2014-12-29  6:21 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless

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>
---
 drivers/net/wireless/ath/ath10k/wmi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
index b103122..aad08a2 100644
--- 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;
+	u32 len, val, features = 0;
 
 	config.num_vdevs = __cpu_to_le32(TARGET_10X_NUM_VDEVS);
 	config.num_peers = __cpu_to_le32(TARGET_10X_NUM_PEERS);
@@ -3764,6 +3764,9 @@ 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;
+	cmd->resource_config.feature_mask = __cpu_to_le32(features);
+
 	memcpy(&cmd->resource_config.common, &config, sizeof(config));
 	ath10k_wmi_put_host_mem_chunks(ar, &cmd->mem_chunks);
 
-- 
2.2.1


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
  2014-12-29  6:21 ` Sujith Manoharan
@ 2015-01-02  7:45   ` Kalle Valo
  -1 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2015-01-02  7:45 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: ath10k, linux-wireless

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:

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


-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
@ 2015-01-02  7:45   ` Kalle Valo
  0 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2015-01-02  7:45 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: linux-wireless, ath10k

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:

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


-- 
Kalle Valo

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
  2015-01-02  7:45   ` Kalle Valo
@ 2015-01-02  8:41     ` Sujith Manoharan
  -1 siblings, 0 replies; 14+ messages in thread
From: Sujith Manoharan @ 2015-01-02  8:41 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath10k, linux-wireless

Kalle Valo wrote:
> Any throughput improvements?

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

Sujith

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
@ 2015-01-02  8:41     ` Sujith Manoharan
  0 siblings, 0 replies; 14+ messages in thread
From: Sujith Manoharan @ 2015-01-02  8:41 UTC (permalink / raw)
  To: Kalle Valo; +Cc: linux-wireless, ath10k

Kalle Valo wrote:
> Any throughput improvements?

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

Sujith

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
  2015-01-02  8:41     ` Sujith Manoharan
@ 2015-01-02  8:49       ` Kalle Valo
  -1 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2015-01-02  8:49 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: ath10k, linux-wireless

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?

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
@ 2015-01-02  8:49       ` Kalle Valo
  0 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2015-01-02  8:49 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: linux-wireless, ath10k

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?

-- 
Kalle Valo

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
  2015-01-02  8:49       ` Kalle Valo
@ 2015-01-02 10:43         ` Sujith Manoharan
  -1 siblings, 0 replies; 14+ messages in thread
From: Sujith Manoharan @ 2015-01-02 10:43 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath10k, linux-wireless

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
@ 2015-01-02 10:43         ` Sujith Manoharan
  0 siblings, 0 replies; 14+ messages in thread
From: Sujith Manoharan @ 2015-01-02 10:43 UTC (permalink / raw)
  To: Kalle Valo; +Cc: linux-wireless, ath10k

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

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
  2015-01-02 10:43         ` Sujith Manoharan
@ 2015-01-02 13:33           ` Kalle Valo
  -1 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2015-01-02 13:33 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: ath10k, linux-wireless

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.

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
@ 2015-01-02 13:33           ` Kalle Valo
  0 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2015-01-02 13:33 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: linux-wireless, ath10k

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.

-- 
Kalle Valo

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
  2014-12-29  6:21 ` Sujith Manoharan
@ 2015-01-12 11:56   ` Kalle Valo
  -1 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2015-01-12 11:56 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: ath10k, linux-wireless

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>

Thanks, applied.

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] ath10k: Enable RX batching
@ 2015-01-12 11:56   ` Kalle Valo
  0 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2015-01-12 11:56 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: linux-wireless, ath10k

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>

Thanks, applied.

-- 
Kalle Valo

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-01-12 11:56 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-29  6:21 [PATCH] ath10k: Enable RX batching Sujith Manoharan
2014-12-29  6:21 ` Sujith Manoharan
2015-01-02  7:45 ` Kalle Valo
2015-01-02  7:45   ` Kalle Valo
2015-01-02  8:41   ` Sujith Manoharan
2015-01-02  8:41     ` Sujith Manoharan
2015-01-02  8:49     ` Kalle Valo
2015-01-02  8:49       ` Kalle Valo
2015-01-02 10:43       ` Sujith Manoharan
2015-01-02 10:43         ` Sujith Manoharan
2015-01-02 13:33         ` Kalle Valo
2015-01-02 13:33           ` Kalle Valo
2015-01-12 11:56 ` Kalle Valo
2015-01-12 11:56   ` Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.