This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: RedBoot gets() problems



On 02-Mar-2001 Grant Edwards wrote:
>> > I think I'm going to have to re-design the input scheme so that
>> > Redboot still responds to the network and to all ports while in
>> > the "middle" of reading an input line.
>> 
>> I'm not convinced that this is the right thing to do.  Maybe
>> the check for network packets is OK (but I ruled out doing it
>> all the time because of overhead costs),
> 
> I'm not sure what you mean by "overhead costs".  Are you
> concerned about not handling characters fast enough once they
> start to arrive?  The minimum inter-character gap is already
> defined by the length of time it takes to do a network poll.
> 

I'm mostly concerned about the cost of checking the network
interface for data.  This involves seeing if any packets have
arrived, processing them if they have and then checking to see
if a request to make a Telnet/TCP connection has been made.  This
is all quite expensive and should not be encumbered on every input
character, thus the choice to only make such a check when the 
"console" port is idle.

One change which might help (wrt network packets) is to treat
all characters the same, i.e. with a timeout, that would let you
check for network activity while input was being received on a
serial port.  I think that the code would get very upset if a
Telnet/TCP connection arrived while a command was being entered
though, another reason for only handling it at the pure idle
point, when no [serial] characters have arrived at all.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]