[2388] in linux-net channel archive

home help back first fref pref prev next nref lref last post

Re: Internet Provider?

daemon@ATHENA.MIT.EDU (Alan Cox)
Sun Apr 7 17:40:59 1996

From: alan@lxorguk.ukuu.org.uk (Alan Cox)
To: linux-vger@wab-tis.rabobank.nl
Date: 	Sun, 7 Apr 1996 12:24:21 +0100 (BST)
Cc: linux-net@vger.rutgers.edu
In-Reply-To: <m0u5W8W-0003lDC@sys3.pe1chl.ampr.org> from "Rob Janssen reading Linux mailinglist" at Apr 6, 96 01:26:31 pm

> Well, my experience with device drivers (for the Z8530) is that
> stability is not something achieved through experimentation and testing,
> but only through careful scrutinizing of the code to make sure there are
> no race conditions and all exceptions (however unlikely they are) are
> properly handled.

It took me 3 days of careful going through the interrupt handlers to find
the serial race. The serial drivers have some interesting timing items because
partly they want to be so efficient. (Im currently trying to run an RS485
bus at 460,000 baud so Im glad Ted went to the trouble of doing that). 

> Experimentation and testing can be used to prove that a certain driver
> is faulty, but not to prove that it is solid.

Having a pile of heavily battered terminal servers doesn't prove its solid
but it sure as hell proves its when its faulty, and the existing races can
be measured in seriousness by uptimes and the occasional Oops log to analyse.
Thats what showed up other problems after I thought I had it fixed, and Ted
has found other bugs since, so some are very well hidden indeed.

> Of course, making sure no race conditions are present requires perfect
> knowledge of the operating environment of the driver, and this may be
> difficult to achieve when the environment is changing all the time...

All too true.

Alan



home help back first fref pref prev next nref lref last post