Subject: Re: driver logging via log()
To: Eric S. Hvozda <hvozda@netcom.com>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-kern
Date: 09/08/1995 08:47:55
On Fri, 08 Sep 95 09:29:53 -0400
"Eric S. Hvozda" <hvozda@netcom.com> wrote:
> This doesn't happen when I use printf()'s. This seems to be due to the
> way log() gives goodies to the syslog.
This might be due to the fact that log() is faster; kernel printf()s are
_slow_ :-) (I've bogged down machines quite heavily with debugging
printf()s before...)
> How do I use log() to log the warning, but not freeze the machine?
> log every 1000th interupt? sleep? don't have an interupt handler :-)
Well, you can't sleep, because at interrupt time, you don't have a
process available .. I gather from what you're saying that `regular'
interrupts happen ok ... Maybe a simple delay() call to slow things down
a bit during this `special' interrupt?
Just to clarify ... only one of these `special' interrupts happens when
you remove the cable, right? Or is is a constant stream of them? Does
it interrupt when the cable get's re-installed?
If it does indeed interrupt perodically, perhaps a `cable state' member
in the softc? If you get a cable interrupt, and `cable state' is
`disconected', ignore it?
*shrug* Just a few ideas :-)
--------------------------------------------------------------------------
Jason R. Thorpe thorpej@nas.nasa.gov
NASA Ames Research Center Home: 408.866.1912
NAS: M/S 258-6 Work: 415.604.0935
Moffett Field, CA 94035 Pager: 415.428.6939