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