Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Nov 2000 16:58:32 -0800 (PST)
From:      Archie Cobbs <archie@dellroad.org>
To:        freebsd-current@freebsd.org
Subject:   how to mutex'ify a device driver
Message-ID:  <200011230058.eAN0wWI62818@curve.dellroad.org>

next in thread | raw e-mail | index | archive | help
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?

Thanks,
-Archie

__________________________________________________________________________
Archie Cobbs     *     Packet Design     *     http://www.packetdesign.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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