*BSD News Article 73207


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!howland.reston.ans.net!blackbush.xlink.net!isar.de!krabat!leo
From: leo@krabat.marco.de (Matthias Pfaller)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Parallel laplink abuse leads to death of kernel secondary timer
Message-ID: <4962@krabat.marco.de>
Date: 9 Jul 96 15:01:40 GMT
References: <4rn4ip$kcr@harbinger.cc.monash.edu.au> <4rp8ak$1jp@godzilla.zeta.org.au>
Reply-To: leo@dachau.marco.de (Matthias Pfaller)
Organization: marco GmbH, D-85221 Dachau
Lines: 28
X-Newsreader: TIN [version 1.2 PL2]

Bruce Evans (bde@zeta.org.au) wrote:
> The driver certainly delays clock interrupts for too long.  It should
> use splimp() instead of splhigh() (and arrange for splimp() to mask tty
> interrupts).

I think that receiving/transmitting packets can (and should) be done at spl0.
Raising the priority level to splimp for about 30ms (50k/sec, 1500b mtu)
is a little bit long.
In my plip driver for NetBSD/pc532 I'm doing all the packet
receive/transmit stuff at spl0 in a software interrupt handler. The
hardware interrupt just schedules the software interrupt. Interested
people might want to look into

	ftp.netbsd.org:/pub/NetBSD/NetBSD-current/src/sys/arch/pc532/dev/lpt.c.

The driver only implements Linux 1.0.x, Linux 1.1.x and Linux 1.3.x plip. The
FreeBSD protocoll is not supported (because I don't have a FreeBSD
machine). I'm using this driver to connect my pc532 (ns32532@30mhz) to
my linux based X-Terminal (i386@25mhz with 32kb cache). I'm getting
51k/sec from NetBSD -> Linux and 41k/sec from Linux -> NetBSD (using
ftp). I'm running NetBSD-current on the pc532 and Linux 1.99.9 on the
i386 machine. I'd be interested to know how fast two really fast
machines can go when talking plip.

	Matthias
-- 
leo@dachau.marco.de			in real life: Matthias Pfaller
marco GmbH, 85221 Dachau, Germany	tel: +49 8131 516142