From: Paul Koning <Paul_Koning@dell.com>
To: sandra@codesourcery.com
Cc: gdb@sourceware.org, gdb-patches@sourceware.org,
pedro@codesourcery.com
Subject: Re: [remote protocol] support for disabling packet acknowledgement
Date: Thu, 10 Jul 2008 20:13:00 -0000 [thread overview]
Message-ID: <18550.28000.759268.379468@gargle.gargle.HOWL> (raw)
In-Reply-To: <48766999.6070001@codesourcery.com>
>>>>> "Sandra" == Sandra Loosemore <sandra@codesourcery.com> writes:
Sandra> Paul Koning wrote:
>>>>>>> "Sandra" == Sandra Loosemore <sandra@codesourcery.com>
>>>>>>> writes:
>>
Sandra> You'll note the documentation says turning off acks may be
Sandra> desirable to reduce communication overhead *or* "for other
Sandra> reasons". In fact, it is the "other reasons" that motivated
Sandra> this patch. We are working on designing the extensions to
Sandra> the remote protocol to support nonstop mode, and we realized
Sandra> that we simply cannot do it in combination with using +/-
Sandra> acks on the asynchronous responses. If we need a reliable
Sandra> transport layer to support nonstop mode, we might as well
Sandra> turn the acks off completely instead of dealing with the
Sandra> extra complexity of trying to design the nonstop protocol
Sandra> around them.
>> Ok, so does that mean the nonstop mode features won't work unless
>> the remote protocol is layered on TCP? Given that a lot of the
>> time the remote link is simply a UART serial link, is there an
>> issue here?
Sandra> Probably so, but the +/- acks are not the way to solve it.
Sandra> :-(
Sandra> Our internal discussion on that issue was getting more and
Sandra> more complicated, to the point where I could not even follow
Sandra> what the exact problem was. ...
Sandra> There's current practice (the existing Apple implementation)
Sandra> to support disabling +/- acks and it seems useful as a
Sandra> performance hack for TCP connections independently of the
Sandra> nonstop extensions, so why not formalize it?
Let me see if I understand this right.
1. +/- ACKs are fine for the clasis (without non-stop) remote
protocol.
2. ACKs are needed if the underlying transport isn't a reliable
transport (for example a raw UART). They aren't needed if the
underlying transport is TCP or equivalent.
3. +/- ACKs are not good enough for non-stop mode. (It's not clear to
me why -- is it because there may need to be more than one packet
in flight? An explanation of what exactly is wrong would be
helpful to understand how to fix the issue.)
and finally
4. The proposal is to have a way to turn off +/-ACKs and this will be
used for non-stop mode.
The implication is that the non-stop mode design abandons support for
non-TCP transports. This doesn't seem like a good thing. I would
argue you need to identify why +/- ACKs aren't good enough, and
propose a replacement that is good enough. With that replacement you
have a way to add the non-stop mode. If the overhead of that
replacement is significant in some plausible use case, you could then
add a way to turn it off for the case where TCP is used end to end.
By the way, note that "target remote host:port" does NOT mean that you
have TCP end to end. You may have TCP to a terminal server and raw
UART the rest of the way, so you still need ACKs (of one kind or
another).
paul
next prev parent reply other threads:[~2008-07-10 20:13 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-10 18:59 Sandra Loosemore
2008-07-10 19:09 ` Paul Koning
2008-07-10 19:59 ` Sandra Loosemore
2008-07-10 20:13 ` Paul Koning [this message]
2008-07-10 22:33 ` Daniel Jacobowitz
2008-07-11 0:22 ` Sandra Loosemore
2008-07-11 0:43 ` Daniel Jacobowitz
2008-07-11 13:43 ` Paul Koning
2008-07-11 14:35 ` Daniel Jacobowitz
[not found] ` <20080710223312.GA19058__14539.8706700236$1215729298$gmane$org@caradoc.them.org>
2008-07-11 3:05 ` Frank Ch. Eigler
2008-07-11 3:25 ` Daniel Jacobowitz
2008-07-11 15:11 ` Pedro Alves
2008-07-11 15:24 ` Daniel Jacobowitz
2008-07-11 15:54 ` Paul Koning
2008-07-11 17:59 ` Pedro Alves
2008-07-11 18:54 ` Paul Koning
2008-07-11 19:10 ` Pedro Alves
2008-07-25 13:41 ` Eli Zaretskii
2008-07-25 14:14 ` Sandra Loosemore
2008-07-26 5:54 ` Eli Zaretskii
-- strict thread matches above, loose matches on Subject: below --
2008-07-10 17:23 Pedro Alves
2008-07-10 18:44 ` Paul Koning
2008-07-10 19:08 ` Daniel Jacobowitz
2008-07-25 13:39 ` Eli Zaretskii
2008-08-11 19:40 ` Daniel Jacobowitz
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=18550.28000.759268.379468@gargle.gargle.HOWL \
--to=paul_koning@dell.com \
--cc=gdb-patches@sourceware.org \
--cc=gdb@sourceware.org \
--cc=pedro@codesourcery.com \
--cc=sandra@codesourcery.com \
/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