linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] wl12xx: Optimizing throughput and CPU usage
@ 2011-03-01 13:14 Ido Yariv
  2011-03-01 13:14 ` [PATCH v2 1/7] wl12xx: Reorder data handling in irq_work Ido Yariv
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Ido Yariv @ 2011-03-01 13:14 UTC (permalink / raw)
  To: Luciano Coelho; +Cc: linux-wireless, Ido Yariv

The following patches tweak the driver in multiple places to achieve maximal
throughput and minimal CPU usage.

Throughput improved significantly with these patches, up to 50% increase in
some cases.

Changes since v1:
- Keep using the existing PG version mask & introduce an end-of-transaction
  quirk
- Make sure the deferred queues don't get too large
- Prevent a theoretical endless loop in the interrupt handler
- Flush the network stack work before cancelling it

Ido Yariv (7):
  wl12xx: Reorder data handling in irq_work
  wl12xx: Do end-of-transactions transfers only if needed
  wl12xx: Change claiming of the SDIO bus
  wl12xx: Switch to a threaded interrupt handler
  wl12xx: Switch to level trigger interrupts
  wl12xx: Avoid redundant TX work
  wl12xx: Modify requested number of memory blocks

 drivers/net/wireless/wl12xx/boot.c    |    3 +
 drivers/net/wireless/wl12xx/boot.h    |    5 +
 drivers/net/wireless/wl12xx/debugfs.c |    2 +-
 drivers/net/wireless/wl12xx/io.h      |    1 +
 drivers/net/wireless/wl12xx/main.c    |  170 ++++++++++++++++++++++-----------
 drivers/net/wireless/wl12xx/ps.c      |    6 +-
 drivers/net/wireless/wl12xx/ps.h      |    2 +-
 drivers/net/wireless/wl12xx/rx.c      |   11 ++-
 drivers/net/wireless/wl12xx/sdio.c    |   26 +----
 drivers/net/wireless/wl12xx/spi.c     |   19 ++---
 drivers/net/wireless/wl12xx/tx.c      |   15 ++-
 drivers/net/wireless/wl12xx/wl12xx.h  |   22 ++++-
 12 files changed, 178 insertions(+), 104 deletions(-)


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

end of thread, other threads:[~2011-03-03 15:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-01 13:14 [PATCH v2 0/7] wl12xx: Optimizing throughput and CPU usage Ido Yariv
2011-03-01 13:14 ` [PATCH v2 1/7] wl12xx: Reorder data handling in irq_work Ido Yariv
2011-03-01 13:14 ` [PATCH v2 2/7] wl12xx: Do end-of-transactions transfers only if needed Ido Yariv
2011-03-01 14:06   ` Luciano Coelho
2011-03-01 13:14 ` [PATCH v2 3/7] wl12xx: Change claiming of the SDIO bus Ido Yariv
2011-03-01 13:14 ` [PATCH v2 4/7] wl12xx: Switch to a threaded interrupt handler Ido Yariv
2011-03-01 13:14 ` [PATCH v2 5/7] wl12xx: Switch to level trigger interrupts Ido Yariv
2011-03-01 13:14 ` [PATCH v2 6/7] wl12xx: Avoid redundant TX work Ido Yariv
2011-03-01 13:14 ` [PATCH v2 7/7] wl12xx: Modify requested number of memory blocks Ido Yariv
2011-03-03 15:43 ` [PATCH v2 0/7] wl12xx: Optimizing throughput and CPU usage 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).