Subject: Re: Soft Errors / DMA errors on IBM 18G ATAPI disk
To: <>
From: jiho <root@mail.c-zone.net>
List: port-i386
Date: 10/22/1999 13:24:27
> According to what I just saw with my own eyes, the cpl bits IPL_TTY, IPL_NET 
> and IPL_BIO are _always_ set, _every_ time the PS/2 mouse interrupt handler
> is invoked.
> 
> Now, according to what I just read in The Book, if _any_ of those bits is
> set, that interrupt handler should be _blocked_ until all three bits are
> clear.

Well, golly, Jim, that _almost_ makes sense....except that you might actually 
_want_ splhigh() while an interrupt handler is running, as that would prevent 
other interrupts from interrupting it while it runs to completion.

Selective blocking should occur _before_ it is decided to run the interrupt 
handler; then _everything_ should be temporarily blocked while it runs.  Which 
is what the above indicates is happening, so it appears correct.

Meanwhile, I've made a little progress hassling out these code paths.  Now 
_that_ is going to take a while.

My original reaction was to dismiss the problems I've seen as bugs in 
user-level code.  But I kept stubbing my toe on the patterns of behavior, 
which seem much more like some kind of lower-level event handling....


--Jim Howard  <jiho@mail.c-zone.net>