From: Graeme Russ <graeme.russ@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] NS16550: buffer reads
Date: Tue, 25 Oct 2011 06:26:39 +1100 [thread overview]
Message-ID: <4EA5BBEF.1050706@gmail.com> (raw)
In-Reply-To: <20111024184700.080E01408E9B@gemini.denx.de>
Hi Wolfgang,
On 25/10/11 05:46, Wolfgang Denk wrote:
> Dear Graeme Russ,
>
> In message <CALButCKD2ucJ0ZUQJpLCP2ABYcCzO-mACa=FPWczCTVeHeoTKg@mail.gmail.com> you wrote:
>>
>>>> If so, could it not be possible that a Kermit/ymodem command followed by a
>>>> time consuming command on the same line cause lost input?
>>>
>>> I don't think so. All serial transfers use a protocol - and when the
>>> transfer is complete, it does not matter any more, because no more
>>> data are flowing.
>>
>> My point is that the transfer turns off flow control - When the transfer
>> completes, flow control will be off when the next command begins to run.
>
> Why would any of the transfer commands actually turn off flow control?
getc() sends an XOFF
> There is no need to do that so far. And even if they do - that's no
> fundamental difference to now, where we are not reading the input
> then, either.
>
>> If the next command is one which takes a long time to execute and it is on
>> the same line as the transfer command (i.e. no \r to send XOFF) and the
>> user types something then that input can be lost.
>
> I don't understand what you mean. We're talking about a single line
> of input here, right? Re-enabling XON is not needed before we're
> ready to read the next line. And during that, no characters would be
> lost because none are sent due to flow control being shut off.
>
>> I think the solution is fairly trivial though - During the processing of
>> commands entered via readline(), cause an XOFF to be sent each time (i.e.
>> immediately before) the command string is dispatched a to the command
>> processor just in case the previous command called getc() (and thus caused
>> an XON to be sent)
>
> This sounds like unneeded overhead to me.
consider the follow (admittedly canned) example:
loadb ; sleep 20
An XOFF will be sent when the user hits 'enter' but loadb will send an XON
when it calls getc(). Now after the transfer is complete, there will have
been no XOFF before the sleep command is run so if the user enters anything
during the sleep command, those characters can be lost
Regards,
Graeme
next prev parent reply other threads:[~2011-10-24 19:26 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-16 5:14 [U-Boot] [PATCH v4 1/2] NS16550: trivial code clean for checkpatch Simon Glass
2011-10-16 5:14 ` [U-Boot] [PATCH v4 2/2] NS16550: buffer reads Simon Glass
2011-10-16 12:57 ` Albert ARIBAUD
2011-10-16 17:06 ` Simon Glass
2011-10-16 20:13 ` Wolfgang Denk
2011-10-16 20:47 ` Simon Glass
2011-10-16 21:03 ` Wolfgang Denk
2011-10-17 11:08 ` Wolfgang Denk
2011-10-17 16:25 ` Simon Glass
2011-10-17 20:19 ` Simon Glass
2011-10-17 20:33 ` Wolfgang Denk
2011-10-17 20:58 ` Simon Glass
2011-10-22 8:29 ` Albert ARIBAUD
2011-10-17 12:18 ` Wolfgang Denk
2011-10-17 16:40 ` Simon Glass
2011-10-22 8:44 ` Albert ARIBAUD
2011-10-22 22:15 ` Graeme Russ
2011-10-23 8:20 ` Wolfgang Denk
2011-10-23 11:50 ` Graeme Russ
2011-10-23 17:15 ` Wolfgang Denk
2011-10-23 20:17 ` Graeme Russ
2011-10-23 21:22 ` Wolfgang Denk
2011-10-23 21:32 ` [U-Boot] [PATCH v2] " Graeme Russ
2011-10-23 22:18 ` Wolfgang Denk
2011-10-23 23:30 ` Graeme Russ
2011-10-24 4:47 ` Simon Glass
2011-10-24 18:46 ` Wolfgang Denk
2011-10-24 19:26 ` Graeme Russ [this message]
2011-10-24 20:00 ` Wolfgang Denk
2011-10-24 20:40 ` Graeme Russ
2011-10-24 21:59 ` Wolfgang Denk
2011-10-24 22:22 ` Graeme Russ
2011-10-24 23:31 ` J. William Campbell
2011-10-25 7:31 ` Wolfgang Denk
2011-10-25 8:34 ` Graeme Russ
2011-10-25 18:41 ` Wolfgang Denk
2011-10-25 22:37 ` Graeme Russ
2011-10-25 23:17 ` Simon Glass
[not found] ` <CALButCK2XnZ=HR72VaXioCfxkMFgMh2JbXzSDq9TadgKFH52rQ@mail.gmail.com >
2011-10-25 23:37 ` Graeme Russ
2011-10-25 23:48 ` Simon Glass
2011-10-26 3:41 ` Graeme Russ
2011-10-26 7:00 ` Wolfgang Denk
2011-10-26 9:18 ` Graeme Russ
2011-10-26 10:19 ` Wolfgang Denk
2011-10-26 16:55 ` Scott Wood
2011-10-26 18:17 ` Wolfgang Denk
2011-10-26 18:50 ` Scott Wood
2011-10-26 19:19 ` Wolfgang Denk
2011-10-26 6:54 ` Wolfgang Denk
2011-10-23 18:17 ` [U-Boot] [PATCH v4 2/2] " Wolfgang Denk
2011-10-23 18:20 ` [U-Boot] [PATCH v4 1/2] NS16550: trivial code clean for checkpatch Wolfgang Denk
-- strict thread matches above, loose matches on Subject: below --
2011-10-15 0:03 [U-Boot] [PATCH v2] NS16550: buffer reads Simon Glass
2011-10-15 10:43 ` Albert ARIBAUD
2011-10-15 14:47 ` Simon Glass
2011-10-15 16:02 ` Wolfgang Denk
2011-10-15 16:12 ` Simon Glass
2011-10-15 16:21 ` Albert ARIBAUD
2011-10-15 16:50 ` Simon Glass
2011-10-15 17:45 ` Simon Glass
2011-10-15 19:14 ` Wolfgang Denk
2011-10-16 4:46 ` Simon Glass
2011-10-16 19:52 ` Wolfgang Denk
2011-10-16 21:02 ` Simon Glass
2011-10-15 19:05 ` Wolfgang Denk
2011-10-15 19:00 ` Wolfgang Denk
2011-10-16 4:39 ` Simon Glass
2011-10-16 19:47 ` Wolfgang Denk
2011-10-16 20:43 ` Simon Glass
2011-10-16 21:00 ` Wolfgang Denk
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=4EA5BBEF.1050706@gmail.com \
--to=graeme.russ@gmail.com \
--cc=u-boot@lists.denx.de \
/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