All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@openwrt.org>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] [PATCH 7/7] ath10k: detect htt pending tx limit at runtime
Date: Mon, 03 Jun 2013 10:35:45 +0200	[thread overview]
Message-ID: <51AC5561.7020501@openwrt.org> (raw)
In-Reply-To: <1368695347-18467-8-git-send-email-michal.kazior@tieto.com>

On 2013-05-16 11:09 AM, Michal Kazior wrote:
> The real limit for sending htt tx is either
> msdu_id storage type (u16 - 65536 different
> values) or the HIF tx pipe queue length (2047 in
> case of our PCI HIF).
> 
> The htt tx pipe does not use interrupts - it must
> be polled. It is polled either on RX
> unconditionally or on TX if HIF tx pipe has used
> over 50% of the resources.
> 
> With this patch we should finally trigger the TX
> polling properly. What this really means we should
> have a smoother tx. Not because the tx limit is
> greater, but simply because we'll be triggering
> the polling properly in case of heavy tx.
> 
> Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
I think a queue length of 2047 is completely excessive. It causes way
too much buffering and latency under load, and I suspect it may be
significantly hurting TCP throughput as well (if TCP manages to get the
queue filled up).
As long as there is no way to dynamically determine a *reasonable* queue
size, introducing an arbitrary limit is *much* better than just letting
the firmware gobble up as much as it wants.
For reference: ath9k limits the number of pending tx packets to 128 per
WMM queue, and even at the highest MCS rates with 3x3 and HT40 this is
much more than what's actually needed.

- Felix

  reply	other threads:[~2013-06-03  8:35 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-16  9:09 [ath9k-devel] [PATCH 0/7] ath10k: tx flow control fixes Michal Kazior
2013-05-16  9:09 ` [ath9k-devel] [PATCH 1/7] ath10k: change errno if we run out of msdu_ids Michal Kazior
2013-05-16  9:09 ` [ath9k-devel] [PATCH 2/7] ath10k: ath10k_htc_prepare_tx_skb() never fails Michal Kazior
2013-05-16  9:09 ` [ath9k-devel] [PATCH 3/7] ath10k: add lockdep asserts to htc skb dequeuing Michal Kazior
2013-05-16  9:09 ` [ath9k-devel] [PATCH 4/7] ath10k: simplify htc flow control Michal Kazior
2013-05-16  9:09 ` [ath9k-devel] [PATCH 5/7] ath10k: remove unused queue limit Michal Kazior
2013-05-16  9:09 ` [ath9k-devel] [PATCH 6/7] ath10k: introduce proper htt tx flow control Michal Kazior
2013-05-28 15:06   ` Kalle Valo
2013-05-29  6:00     ` Michal Kazior
2013-05-16  9:09 ` [ath9k-devel] [PATCH 7/7] ath10k: detect htt pending tx limit at runtime Michal Kazior
2013-06-03  8:35   ` Felix Fietkau [this message]
2013-05-28 15:07 ` [ath9k-devel] [PATCH 0/7] ath10k: tx flow control fixes Kalle Valo
2013-05-28 15:11   ` Kalle Valo
2013-05-29  6:46     ` [ath9k-devel] [PATCH] ath10k: fix sparse warning Michal Kazior
2013-06-01  9:12       ` Kalle Valo

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=51AC5561.7020501@openwrt.org \
    --to=nbd@openwrt.org \
    --cc=ath9k-devel@lists.ath9k.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.