Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!olivea!uunet!math.fu-berlin.de!fub!geminix.in-berlin.de!gemini From: gemini@geminix.in-berlin.de (Uwe Doering) Newsgroups: comp.unix.sysv386 Subject: Re: Son of FAS? Message-ID: Date: 25 Apr 91 10:42:41 GMT References: <1991Apr25.010758.1522@pegasus.com> Organization: Private UNIX Site Lines: 30 richard@pegasus.com (Richard Foulk) writes: >I recall hearing that Equinox (or someone like that) equips their >smart serial card with a driver that doesn't use interrupts. They >do some kind of polling from within one of the kernels inner loops. > >Doing away with the interrupt overhead supposedly results in a marked >performance gain. (Seems reasonable.) > >My question is: couldn't this same technique be used to good advantage >with the fifo-ized dumb serial cards? > >Since most smart cards gain mostly from the reduced interrupt load they >place on the system wouldn't this blur the difference a bit more? In theory, this would work. But you would need a FIFO that is longer that the 16 bytes in the NS16550A. The kernel tick in almost all UNIX SysVr[34] releases is 100 Hz. That's where they would have to hook in their driver. So polling would occure every 10 milliseconds. At 38400 bps this would be 38.4 characters per poll. Obviously, this is too much to fit in a 16 byte FIFO. If there were UARTs available that are upwards compatible with the NS16550A, and have, for instance, 64 byte FIFOs, I would use polling in FAS, as it would indeed save a lot of CPU time. Uwe -- Uwe Doering | INET : gemini@geminix.in-berlin.de Berlin |---------------------------------------------------------------- Germany | UUCP : ...!unido!fub!geminix.in-berlin.de!gemini