Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Oct 1996 09:55:48 +0200
From:      Mark Murray <mark@grondar.za>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        sos@freefall.freebsd.org, cvs-all@freefall.freebsd.org, CVS-committers@freefall.freebsd.org, cvs-sys@freefall.freebsd.org
Subject:   Re: cvs commit: src/sys/i386/isa syscons.c 
Message-ID:  <199610270755.JAA17287@grumble.grondar.za>

next in thread | raw e-mail | index | archive | help
Bruce Evans wrote:
> There seems to be a more serious problem with reentrancy in
> add_timer_randomness().  It is called from interrupt handlers at the
> ipls of the handlers, so it may be reentered.  It doesn't seem to be
> designed for this.  I guess it works in Linux because it is always
> called with interrupts disabled.  It should use splhigh() in FreeBSD.
> (Don't forget the design goal that interrupts should not be masked for
> too long.  20 usec is too long.)  Since it is normally (*) called from
> the keyboard interrupt handler at ipl >= tty_imask, it is now only safe
> to gather entropy for interrupts generated by tty-class devices.

I have found bits of code that look like

	s = splhigh();

	/* handle the interrupt */

	splx(s); /* or spl0(); */

But the comments in spl.h are very unenlightening. :-(

Please give me a short (english!) introduction as to what the @#$% is
going on here :-).

M
--
Mark Murray
46 Harvey Rd, Claremont, Cape Town 7700, South Africa
+27 21 61-3768 GMT+0200
Finger mark@grondar.za for PGP key



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610270755.JAA17287>