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>