Re: [PATCH 0/2] wl1271: Packet aggregation optimizations
From: Juuso Oikarinen <hidden>
Date: 2010-09-29 09:50:36
On Wed, 2010-09-29 at 08:28 +0200, ext Juuso Oikarinen wrote:
On Tue, 2010-09-28 at 17:07 +0200, ext Ido Yariv wrote:quoted
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. The patches were tested on a Zoom2 platform (SDIO only). Ido Yariv (2): wl1271: Support firmware RX packet aggregation wl1271: Support firmware TX packet aggregationThanks for these patches! We are testing them now.
I did some desktop-testing for these patches. For SDIO, I can see some definite improvements in CPU usage during data transfers with these patches despite the added memcpy operations. However, the SPI is totally broken with these patches. I did some debugging and noticed, that once the SPI transfers exceed 4500 bytes or so, the hardware crashes. Excerpt from syslog. I repeated this several times, and each time the hardware went unresponsive after the larger transfer, like here: [ 44.847198] TX length: 1552 [ 44.876983] RX length: 272 [ 46.265014] TX length: 1552 [ 46.270416] RX length: 120 [ 46.270629] TX length: 3104 [ 46.274963] RX length: 120 [ 46.275177] TX length: 4656 [ 46.285339] wl1271: ERROR SPI read busy-word timeout! -Juuso