From: Jan Kiszka <jan.kiszka@web.de>
To: netdev@vger.kernel.org
Cc: Jiri Benc <jbenc@suse.cz>, Ivo Van Doorn <ivdoorn@gmail.com>,
rt2400-devel@lists.sourceforge.net
Subject: d80211: How does TX flow control work?
Date: Tue, 02 Jan 2007 14:08:21 +0100 [thread overview]
Message-ID: <459A5945.80909@web.de> (raw)
[-- Attachment #1: Type: text/plain, Size: 861 bytes --]
Hi,
can someone explain how TX flow control in d80211 is supposed to work? I
failed to understand the full design so far.
What I (think to) understand is that a low-level drivers call
ieee80211_stop_queue() if they run out of buffers. That flips a
per-queue bit (IEEE80211_LINK_STATE_XOFF), prevents that any further
frame is passed to the low-level TX routine, and can cause that up to
*one* packet per queue is stored in
ieee80211_local::pending_packets[queue]. But it looks to me like nothing
prevents ieee80211_tx() being invoked even in case that there is already
some stuff in that single-packet storage.
That in turn triggers WARN_ONs in ieee80211_tx() under high load for me
(with rt2500usb). And it should also cause orphaned skbs because the
storage is overwritten in that case. Either I'm blind or something is
fishy...
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
next reply other threads:[~2007-01-02 13:08 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-02 13:08 Jan Kiszka [this message]
2007-01-03 17:52 ` d80211: How does TX flow control work? Jiri Benc
2007-01-03 18:10 ` Jan Kiszka
2007-01-03 18:18 ` Jiri Benc
2007-01-03 18:50 ` Jan Kiszka
2007-01-07 0:00 ` Jan Kiszka
2007-01-08 20:18 ` Jan Kiszka
2007-01-10 18:20 ` Jiri Benc
2007-01-10 18:29 ` Simon Barber
2007-03-27 20:58 ` Johannes Berg
2007-03-29 8:45 ` Jan Kiszka
2007-05-01 10:41 ` Jan Kiszka
2007-05-01 10:47 ` Jiri Benc
2007-05-01 10:50 ` Jan Kiszka
2007-05-01 11:04 ` Johannes Berg
2007-05-01 13:07 ` Jan Kiszka
2007-05-01 13:26 ` Johannes Berg
2007-05-01 14:18 ` Jan Kiszka
2007-05-01 15:25 ` Jiri Benc
2007-05-01 17:01 ` Michael Wu
2007-05-01 18:57 ` Jan Kiszka
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=459A5945.80909@web.de \
--to=jan.kiszka@web.de \
--cc=ivdoorn@gmail.com \
--cc=jbenc@suse.cz \
--cc=netdev@vger.kernel.org \
--cc=rt2400-devel@lists.sourceforge.net \
/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.