All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ath9k: Enable support for cloned SKBS
@ 2015-12-18  9:48 Pawel Kulakowski
  2016-01-07 13:02 ` Kalle Valo
  0 siblings, 1 reply; 2+ messages in thread
From: Pawel Kulakowski @ 2015-12-18  9:48 UTC (permalink / raw)
  To: linux-wireless; +Cc: kvalo, Pawel Kulakowski

Ath9k driver does not modify tx skbs, so SUPPORTS_CLONED_SKBS
flag can be set. Enabling this flag significant reduce number
of copy operation during TCP Tx. This is especially noticeable
on platforms with slower CPU (lower CPU usage brings
profits in better TCP Tx troughput results).

Tested on MIPS with 560 MHz clock
Without CLONED_SKBS flag:
TCP Tx 145 Mb/s (iperf result)
__copy_user_common consumes 12.9% of CPU (result from perf tool)
0% CPU Idle

With CLONED_SKBS flag:
TCP Tx 170 Mb/s (iperf result)
__copy_user_common consumes 1.8% of CPU (result from perf tool)
12% CPU Idle

Signed-off-by: Pawel Kulakowski <pawel.kulakowski@tieto.com>
---
 drivers/net/wireless/ath/ath9k/init.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 2e2b92b..ab7a1ac 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -828,6 +828,7 @@ static void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
 	ieee80211_hw_set(hw, RX_INCLUDES_FCS);
 	ieee80211_hw_set(hw, HOST_BROADCAST_PS_BUFFERING);
 	ieee80211_hw_set(hw, SUPPORT_FAST_XMIT);
+	ieee80211_hw_set(hw, SUPPORTS_CLONED_SKBS);
 
 	if (ath9k_ps_enable)
 		ieee80211_hw_set(hw, SUPPORTS_PS);
-- 
1.9.1


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

* Re: [PATCH] ath9k: Enable support for cloned SKBS
  2015-12-18  9:48 [PATCH] ath9k: Enable support for cloned SKBS Pawel Kulakowski
@ 2016-01-07 13:02 ` Kalle Valo
  0 siblings, 0 replies; 2+ messages in thread
From: Kalle Valo @ 2016-01-07 13:02 UTC (permalink / raw)
  To: Pawel Kulakowski; +Cc: linux-wireless

Pawel Kulakowski <pawel.kulakowski@tieto.com> writes:

> Ath9k driver does not modify tx skbs, so SUPPORTS_CLONED_SKBS
> flag can be set. Enabling this flag significant reduce number
> of copy operation during TCP Tx. This is especially noticeable
> on platforms with slower CPU (lower CPU usage brings
> profits in better TCP Tx troughput results).
>
> Tested on MIPS with 560 MHz clock
> Without CLONED_SKBS flag:
> TCP Tx 145 Mb/s (iperf result)
> __copy_user_common consumes 12.9% of CPU (result from perf tool)
> 0% CPU Idle
>
> With CLONED_SKBS flag:
> TCP Tx 170 Mb/s (iperf result)
> __copy_user_common consumes 1.8% of CPU (result from perf tool)
> 12% CPU Idle
>
> Signed-off-by: Pawel Kulakowski <pawel.kulakowski@tieto.com>

Applied to ath.git, thanks.

-- 
Kalle Valo

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

end of thread, other threads:[~2016-01-07 13:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-18  9:48 [PATCH] ath9k: Enable support for cloned SKBS Pawel Kulakowski
2016-01-07 13:02 ` 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.