From: Luciano Coelho <luciano.coelho@nokia.com>
To: ext Ido Yariv <ido@wizery.com>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH v3 0/4] wl1271: TX optimizations & fixes
Date: Mon, 18 Oct 2010 16:51:42 +0300 [thread overview]
Message-ID: <1287409902.20107.58.camel@chilepepper> (raw)
In-Reply-To: <1286887752-19321-1-git-send-email-ido@wizery.com>
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.
prev parent reply other threads:[~2010-10-18 13:51 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-12 12:49 [PATCH v3 0/4] wl1271: TX optimizations & fixes Ido Yariv
2010-10-12 12:49 ` [PATCH v3 1/4] wl1271: TX aggregation optimization Ido Yariv
2010-10-12 12:49 ` [PATCH v3 2/4] wl1271: Fix TX starvation Ido Yariv
2010-10-12 12:49 ` [PATCH v3 3/4] wl1271: Allocate TX descriptors more efficiently Ido Yariv
2010-10-12 12:56 ` Johannes Berg
2010-10-12 14:15 ` Ido Yariv
2010-10-12 14:20 ` [PATCH v4 " Ido Yariv
2010-10-12 12:49 ` [PATCH v3 4/4] wl1271: Fix TX queue low watermark handling Ido Yariv
2010-10-18 13:51 ` Luciano Coelho [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1287409902.20107.58.camel@chilepepper \
--to=luciano.coelho@nokia.com \
--cc=ido@wizery.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.