Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Jul 1997 13:47:08 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        hackers@FreeBSD.ORG, mcgovern@spoon.beta.com
Subject:   Re: Trigger for received PPP packets?
Message-ID:  <199707110347.NAA32223@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>I asked this question once before a week or so ago, and didn't get a great
>response about it, so I'll try it from a different angle.

It's probably too technical for -hackers.

>I'm playing with serial device X, for which the driver is in a prototype
>stage... Its working fine, except for receiving PPP packets. Basically
>the data is being stowed in the clists via the l_rint routine. The problem

ppp doesn't use clists for input.

>that I'm seeing is that a received packet is taking quite a long time
>(roughly 100 - 150ms) to get processed. A ping, for instance, on a 115200 
>serial link, takes about 347-380ms round trip.

Apparently the driver is not delivering characters to ppp promptly.  I
guess it uses huge buffers and doesn't get interrupted for packet framing
characters.

>Using 16550s, it takes about
>47-80ms round trip. Connecting the device to a 16550 yields fast throughput
>from board to 16550, but much slower from 16550 to the device (hence why
>I believe its the receive side).

sio delivers characters to ppp within one fifo full time of receipt of
a packet framing character.  This gives a maximum additional latency at
115200 bps of 14 character times (1.2 msec) for 16550's and 1 character
time (87 usec) for 8250's and 16450's.  On a local line with 16550's,
ping latency should be about 16 msec for cslip, 17 msec for pppd -bsdcomp,
and 8 msec for pppd with the default of bsdcomp enabled and used.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707110347.NAA32223>