Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Jun 1996 22:32:31 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        hdalog@zipnet.net, msmith@atrad.adelaide.edu.au
Cc:        Kevin_Swanson@BLaCKSMITH.com, chuckr@glue.umd.edu, freebsd-hardware@FreeBSD.org, jparnas@jparnas.cybercom.net
Subject:   Re: muliport boards - building a PPP dialup server
Message-ID:  <199606291232.WAA04438@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>As you know once you're in the interrupt routine it will
>check all ports, meaning that in the special case of input streaming
>in on multiple ports you will have a big reduction in interrupt load.
>I second looking up some of Bruce's postings.

This is actually the weakest point in the sio driver.  Polling 16
ports wastes a lot of time when only a few of them are active, and
I think processing multiple ports per interrupt is relatively rare
even when many of them are active.  The poll is only for interrupt-
pending, not for input-available so it only finds input when the
the fifo is full.

>I'm using my own software in a dedicated environment.  I had to
>look in the driver to find the "right" settings of TTY flags to
>get a fast path through the driver, and I'm wondering if I'll have
>to tweak things when I upgrade the OS.  The data is only coming in
>- nothing is going back out again.

"raw" termios mode should always be fast and other line disciplines
should be no slower than your line displine handler :-).  The FreeBSD
line discipline interface is the standard BSD per-char one so it is
slower than the hacked-for-FreeBSD "raw" termios mode.  This should
be fixed someday.

>I can't vertically scroll an Xterm with the serial mouse without
>dropping input on the streaming data during a test session.  If we
>were to double the size of the test stand to 8 devices I'd
>take a page from Henry's book and dedicate a small 486 to collect
>the data and then send it to the analysis system over ethernet.

There seems to be a problem with some graphics hardware or drivers
disabling interrupts for too long.  I get occasional overruns when
switching to or from X on an S3 868 graphics card.

Bruce



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