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>