As a relatively simple exercise in -current kernel programming,
I'm planning to mutex'ify the ichsmb(4) device driver (this is
a relatively simple driver that currently uses splhigh()). I'd
appreciate some feedback if what I'm doing is the right thing.

The plan is to give each instance of the device a mutex. This
mutex will be grabbed by both the top level code (when programming
the chip to do something or reading the results) and the interrupt
code (when servicing an interrupt).

So far so good.. but what I don't understand is what happens if
the interrupt thread has to block on the mutex? It seems like all
other devices sharing the same interrupt (and therefore thread)
could be indefinitely blocked from servicing their IRQ's. Or is
it just assumed that the top half will never hold the mutex for
a "long" time?


Archie Cobbs     *     Packet Design     *

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to