linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] wl1271: Packet aggregation optimizations
@ 2010-09-30 13:28 Ido Yariv
  2010-09-30 13:28 ` [PATCH v3 1/3] wl1271: Handle large SPI transfers Ido Yariv
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Ido Yariv @ 2010-09-30 13:28 UTC (permalink / raw)
  To: Luciano Coelho, linux-wireless; +Cc: Juuso Oikarinen, Ohad Ben-Cohen, Ido Yariv

The WL1271 HW supports sending and receiving multiple packets within
a single transaction. This can substantially reduce CPU usage and
increase network throughput.

The following patches add support for RX and TX packet aggregation.
An opportunistic approach was taken - all packets that are currently
available for sending/receiving are aggregated and transferred
in a single transaction.

On SPI platforms, tests done by Juuso Oikarinen have shown a 20% improvement
in CPU usage.
On SDIO platforms, some tests have shown an improvement of over 30% in CPU
usage.

Changes since v2:
Fix debug output in the SPI callbacks.

Changes since v1:
The SPI callbacks do not handle large transfers well. The first patch fixes
this by fragmenting large transfers into smaller ones.

Thanks Juuso Oikarinen for reporting the SPI issue and helping with testing
and benchmarking these optimizations.

Ido Yariv (3):
  wl1271: Handle large SPI transfers
  wl1271: Support firmware RX packet aggregation
  wl1271: Support firmware TX packet aggregation

 drivers/net/wireless/wl12xx/wl1271.h      |    5 +
 drivers/net/wireless/wl12xx/wl1271_main.c |   15 +++-
 drivers/net/wireless/wl12xx/wl1271_rx.c   |   63 ++++++++++----
 drivers/net/wireless/wl12xx/wl1271_spi.c  |  140 ++++++++++++++++++-----------
 drivers/net/wireless/wl12xx/wl1271_tx.c   |   99 ++++++++-------------
 5 files changed, 189 insertions(+), 133 deletions(-)


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

end of thread, other threads:[~2010-10-05 11:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-30 13:28 [PATCH v3 0/3] wl1271: Packet aggregation optimizations Ido Yariv
2010-09-30 13:28 ` [PATCH v3 1/3] wl1271: Handle large SPI transfers Ido Yariv
2010-09-30 13:28 ` [PATCH v3 2/3] wl1271: Support firmware RX packet aggregation Ido Yariv
2010-09-30 13:28 ` [PATCH v3 3/3] wl1271: Support firmware TX " Ido Yariv
2010-09-30 19:24 ` [PATCH v3 0/3] wl1271: Packet aggregation optimizations Luciano Coelho
2010-10-05 11:18 ` Luciano Coelho

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).