From owner-freebsd-hackers Thu Jul 10 20:52:18 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id UAA13661 for hackers-outgoing; Thu, 10 Jul 1997 20:52:18 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id UAA13656 for ; Thu, 10 Jul 1997 20:52:14 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.5/8.6.9) id NAA32223; Fri, 11 Jul 1997 13:47:08 +1000 Date: Fri, 11 Jul 1997 13:47:08 +1000 From: Bruce Evans Message-Id: <199707110347.NAA32223@godzilla.zeta.org.au> To: hackers@FreeBSD.ORG, mcgovern@spoon.beta.com Subject: Re: Trigger for received PPP packets? Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >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