Search Linux Wireless

[PATCH v2 0/3] wl1271: Packet aggregation optimizations

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

 



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 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  |  132 ++++++++++++++++++-----------
 drivers/net/wireless/wl12xx/wl1271_tx.c   |   99 ++++++++--------------
 5 files changed, 185 insertions(+), 129 deletions(-)

--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux