Search Linux Wireless

Re: [PATCH v3 0/4] wl1271: TX optimizations & fixes

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

 



On Tue, 2010-10-12 at 14:49 +0200, ext Ido Yariv wrote:
> The following patches fix some issues in the TX path, as well as optimize it.
> 
> The first patch fixes an issue in wl1271_tx_work. In case the aggregation
> buffer is completely filled, the content of the buffer is transferred and no
> more packets are sent. Fixed by flushing the buffer and continue aggregating
> packets.
> 
> The second patch solves a TX starvation issue in wl1271_irq_work. Since TX is
> handled by wl1271_tx_work, packets are transmitted after all interrupts are
> handled in wl1271_irq_work. Since these include TX completion interrupts the
> FW status might be read multiple times needlessly, which could hurt performance.
> 
> The third patch is more of a cosmetic change. Instead of traversing the array
> of TX descriptors in order to find a free entry, use a bitmap for that
> purpose.
> 
> The last patch fixes an issue with the TX queue low watermark. The number of
> items in the TX queue is checked against the low watermark in
> wl1271_tx_complete. However, the fact that a TX completion interrupt was fired
> does not necessarily mean that there are any less skbs in the TX queue. Fixed
> by moving the handling logic to the TX work, after skbs are actually dequeued.
> 
> These patches were tested on a Zoom2 platform (SDIO only). While throughput in
> RX scenarios was hardly affected, throughput in TX scenarios was significantly
> improved.
> 
> Changes from v2:
> - Remove the restriction on the maximum number of TX descriptors being 32
> Changes from v1:
> - Fix a theoretical potential deadlock in irq_work and tx_work. Instead of
>   cancelling redundant work, avoid scheduling it in the first place.
> - Check if the low watermark was reached only if skbs were really dequeued
> 
> Ido Yariv (4):
>   wl1271: TX aggregation optimization
>   wl1271: Fix TX starvation
>   wl1271: Allocate TX descriptors more efficiently
>   wl1271: Fix TX queue low watermark handling

Applied the series.  Thank you!


-- 
Cheers,
Luca.

--
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