Date: Tue, 3 Jun 1997 03:22:11 +1000 From: Bruce Evans <bde@zeta.org.au> To: msmith@atrad.adelaide.edu.au, msmith@genesis.atrad.adelaide.edu.au Cc: dg@root.com, hackers@FreeBSD.ORG Subject: Re: weird scheduler crash (2.2) Message-ID: <199706021722.DAA05361@godzilla.zeta.org.au>
index | next in thread | raw e-mail
>> How do I determine whether an interrupt handler is configured "fast" or
>> "slow"? Where are the rules for "fast" and "slow" handlers described?
>
>Scratch the first one, I've found that. Teach me to crib code from
>other drivers 8(
The driver author should know :-).
>Is there a list of rules for "fast" interrupt handlers?
To begin with, here is the list of non-auto variables that may be accessed
without special locking from within a fast interrupt handler:
{ }
and as a consequence, here is the list of general kernel functions that
may be called from a fast interrupt handler:
{ }
Special functions may be called if the side effects are all known and
none is harmful. Here is the list of special functions called in the sio
fast interrupt handler:
inb(); /* actually inline */
outb(); /* actually inline */
setsofttty(); /* was inline; now pessimized */
schedsofttty(); /* was inline; now pessimized */
breakpoint();; /* actually inline */
microtime(); /* bug; microtime() must not be called if
* clock interrupts have been disabled for
* more than about 15 usec; siointr() cannot
* always satisfy this timing. */
Bruce
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199706021722.DAA05361>
