Subject: Re: Silo overflow?
To: Chris G Demetriou <Chris_G_Demetriou@UX2.SP.CS.CMU.EDU>
From: Operator <oper@mikrobitti.fi>
List: port-i386
Date: 03/22/1996 11:51:18
> As far as I remember, nothing about this was ever mentioned in any of
> the 16550* documentation i ever saw, and as far as i know, it is
> simply not true.
> 
> Hardware handshaking controlled by the driver != hardware handshaking
> implemented in hardware.

I was hoping you were wrong, but it seems you weren't.  I checked the EXAR
16C550 datasheet and true enough, it says the CTS input has no effect on
the transmitter and all the other handshake lines are under software
control as well.  *SIGH*

[When I bought this P120 I thought that the PC hardware had got better,
probably even usable.  Now I'm beginning to see I was hoping for too
much. ;-) :-( ]

> I've heard of some 16x50 boards that _do_ do something special to do
> real hardware handshaking in hardware (by adding extra gates, etc.)
> but to the best of my knowledge, no 16550 of any revision has this
> built into hardware.

Seems you're correct.

I'm just testing PPP at 115200 bps and because of overruns and corrupted
packets, my ftp speed gets down to 7k/s or sometimes 3k/s (viewing the
status with pppstats).  The speed _should_ be something like 11k/s.

The machine is completely idle.  It is just writing the received data
onto an SCSI harddisk (with NCR PCI controller).  Sometimes PPP gets
so confused it stops transmitting data for 15-30 seconds.

I am running a 960210 kernel (waiting for the new NFS code to stabilize)
on P120 with 32 MB RAM.  I need to connect 6 modems to this system soon,
so I hope _something_ can be done to this problem.  I understand there
will be overruns on slow machines with no FIFOs on their serial ports,
but on a P120 with 16-byte FIFOs.. there's got to be something wrong
in there.

At 115200 bps it takes 694 us to receive 8 bytes.  If you get overruns,
the machine is not responding to the interrupt within 694 us which is
a pretty long time for something simple to happen.  I don't know the
kernel internals, so I can't even imagine what's happening in there.

  -jm