*BSD News Article 37775


Return to BSD News archive

Xref: sserve comp.os.linux.development:19224 comp.os.linux.misc:29507 comp.os.386bsd.questions:14386 comp.os.386bsd.misc:4063 sci.electronics:83909
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!spool.mu.edu!howland.reston.ans.net!xlink.net!xlink100!smurf.noris.de!not-for-mail
From: urlichs@smurf.noris.de (Matthias Urlichs)
Newsgroups: comp.os.linux.development,comp.os.linux.misc,comp.os.386bsd.questions,comp.os.386bsd.misc,sci.electronics
Subject: Re: 16550 detection
Date: 11 Nov 1994 16:29:52 +0100
Organization: noris network GbR, Nuernberg, FRG
Lines: 41
Message-ID: <3a02lg$vob@gate.noris.de>
References: <MICHAELV.94Oct31211019@MindBender.HeadCandy.com> <TYTSO.94Nov1182557@dcl.mit.edu> <199411032154.NAA12270@exit.com> <Cz0oIy.K7p@info.swan.ac.uk>

In comp.os.linux.development, article <Cz0oIy.K7p@info.swan.ac.uk>,
  iialan@iifeak.swan.ac.uk (Alan Cox) writes:
> 
> With ISDN you need something better than a UART. You are normally looking
> at ethernet like block I/O interfaces.
> 
El Cheapo ISDN cards usually just interface to the raw chip registers;
these things typically have a 32-byte double FIFO (on each interrupt you
read or write exactly 32 bytes) except at the end of a block of course.
Since a frame may be as short as six bytes (lead-in, one byte, FCS (16bit),
lead-out possibly shared with the lead-in of the next frame),
bidirectionally and on two bearer channels, you tend to get a lot of
interrupts. Over the last two days this box here processed 500 ISDN
interrupts per second. On average...

> Its worth noticing high bandwidth 64 channel serial boards tend to run on
> a timer empty of the queue every clock tick not on anything more complex.
> With high data rates its simply not worth the hassle of handling bytes as
> they arrive.
> 
High data rates should really use HDLC framing on sync lines anyway, which
means that there's no reason to interrupt faster than once per data frame.

> DMA is of dubious value (can anyone say 'CACHE'). For the kind of things
> a fast port is using block I/O will be faster until you get to extreme
> (Mbits/second) speeds. 
> 
The cache problem is unfortunate; there are ways around it (bus snooping,
for instance) which on the PC tend to be nonexistent... Worse, DMA setup
time for a one-byte transfer, or even for a hundred, seems rather
prohibitive. And don't forget the limited amount of address lines on the
ISA bus. :-(

-- 
What fools these morals be!
-- 
Matthias Urlichs        \ XLink-POP Nürnberg  | EMail: urlichs@smurf.noris.de
Schleiermacherstraße 12  \  Unix+Linux+Mac    | Phone: ...please use email.
90491 Nürnberg (Germany)  \   Consulting+Networking+Programming+etc'ing     42
          PGP: 1B 89 E2 1C 43 EA 80 44  15 D2 29 CF C6 C7 E0 DE 
      Click <A HREF="http://smurf.noris.de/~urlichs/finger">here</A>.