Re: 2.0.30 serial.c, ppp.c and pppd-2.2 questions

Bill Hawes (whawes@star.net)
Tue, 22 Jul 1997 11:59:33 -0400


Rob Riggs wrote:
> There was a false assumption made in the serial code. It assumed
> that an entire run through the timer task queue was made every
> clock tick. That may or may not happen, depending on how many
> other tasks need to be run, whether we have to sleep, and the
> number of interrupts occuring.

If the timer queue is run at all, the entire queue is run -- there's no
provision for only calling some of the tasks. So analyzing your
problem reduces to finding reasons why the timer queue might miss a
turn.

If we rule out disabling because of page faults, my next hypothesis
would be that PPP processing itself may be taking sufficiently long that
the timer starts missing ticks. This might make sense considering that
existing flow control mechanisms are triggered by the n_tty receive
buffer filling, not by processing time causing missed clock ticks.

I'll take a look at the PPP code; it may be that we need a way to invoke
flow control based on time rather than buffer space considerations.

Regards,
-Bill