From: Mat Martineau <mathewm@codeaurora.org>
To: "Gustavo F. Padovan" <padovan@profusion.mobi>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH 1/6] Bluetooth: Check earlier for L2CAP ERTM frames to drop
Date: Thu, 30 Jun 2011 16:36:01 -0700 (PDT) [thread overview]
Message-ID: <alpine.DEB.2.02.1106301449130.18354@mathewm-linux> (raw)
In-Reply-To: <20110630212419.GF25602@joana>
Hi Gustavo -
On Thu, 30 Jun 2011, Gustavo F. Padovan wrote:
> * Mat Martineau <mathewm@codeaurora.org> [2011-06-29 14:35:19 -0700]:
>
>> Even when the received tx_seq is expected, the frame still needs to be
>> dropped if the TX window is exceeded or the receiver is in the local
>> busy state.
>
> The check doesn't mean that TX window is exceeded, it means that we have an
> invalid tx_seq and connection should be closed. I don't see the point in
> moving the expected check to after this one.
> About the local busy check. Is it worth to drop expected frames when on local
> busy? What are the advantages/disadvantages? Drop will trigger SREJ while
> Store will press the buffer. Do you have measures to prove this?
It's possible for expected_tx_seq to be invalid if the tx window is
full. Therefore it is important to check for an invalid tx_seq before
checking if it is expected.
Dropping frames during local busy is a good idea because:
* Queuing frames during local busy ignores the receive buffer limits
requested by the application with SO_RCVBUF. This problem gets worse
with extended window sizes, where the busy_q could be quite large
* ERTM senders are not supposed to send frames during local busy
anyway
* The spec allows for packets to be dropped in local busy (look for
"StoreOrIgnore")
It's the memory that's most important, though. Dropping all incoming
iframes during local busy is a simple way to keep data buffer size
bounded while still allowing for larger tx windows.
If the application can't keep up with the data rate and is triggering
local busy, throughput isn't going to be improved significatnly by
queuing those frames during local busy.
--
Mat Martineau
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum
next prev parent reply other threads:[~2011-06-30 23:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-29 21:35 [PATCH 0/6] Bluetooth: ERTM fixes and local busy enhancement Mat Martineau
2011-06-29 21:35 ` [PATCH 1/6] Bluetooth: Check earlier for L2CAP ERTM frames to drop Mat Martineau
2011-06-30 21:24 ` Gustavo F. Padovan
2011-06-30 23:36 ` Mat Martineau [this message]
2011-07-01 19:13 ` Gustavo F. Padovan
2011-07-05 17:45 ` Mat Martineau
2011-06-29 21:35 ` [PATCH 2/6] Bluetooth: Fix indentation whitespace Mat Martineau
2011-06-30 21:29 ` Gustavo F. Padovan
2011-06-29 21:35 ` [PATCH 3/6] Bluetooth: ERTM timeouts need to be converted to jiffies Mat Martineau
2011-06-30 21:27 ` Gustavo F. Padovan
2011-06-29 21:35 ` [PATCH 4/6] Bluetooth: Move code for ERTM local busy state to separate functions Mat Martineau
2011-06-29 21:35 ` [PATCH 5/6] Bluetooth: Use event-driven approach for handling ERTM receive buffer Mat Martineau
2011-06-30 21:40 ` Gustavo F. Padovan
2011-07-01 17:29 ` Mat Martineau
2011-07-06 15:49 ` Gustavo Padovan
2011-06-29 21:35 ` [PATCH 6/6] Bluetooth: Remove L2CAP busy queue Mat Martineau
2011-06-30 21:42 ` Gustavo F. Padovan
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=alpine.DEB.2.02.1106301449130.18354@mathewm-linux \
--to=mathewm@codeaurora.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=padovan@profusion.mobi \
/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 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).