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

Rob Riggs (rob@DevilsThumb.COM)
Sat, 19 Jul 1997 13:56:24 -0600 (MDT)


>
> Rob Riggs wrote:
> > In serial.c's receive_char() interrupt handler we read a
> > char from the UART then just drop it if the flip buffer
> > is full.
>
> I asked about this a while back, and the reply was that the flip buffer
> is not supposed to ever fill up. The flip buffer is flipped on the
> jiffy clock (e.g. 100 Hz), so it should handle serial rates far in
> excess of 64kbps without filling.

This assumes that we aren't stuck running other tasks for more
than 10ms (including all interrupts that may occur). When the
timer task queue takes longer than a jiffy to work through,
we aren't able to flip every jiffy.

> The present code does appear to have some bugs if it fills -- look
> closely at the logic for handling overrun indications. But if it never
> fills, fixing things is not a priority.

The flip buffer does fill. It happens at speeds as slow as
64Kbps on this 486-66 (UART running @ 230.4Kbps).

-Rob