Messages in this thread | | | Date | Tue, 22 Jul 1997 11:59:33 -0400 | From | Bill Hawes <> | Subject | Re: 2.0.30 serial.c, ppp.c and pppd-2.2 questions |
| |
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
| |