kldunload DIAGNOSTIC idea...

Scott Long scottl at samsco.org
Tue Jul 20 12:09:08 PDT 2004


Brian Fundakowski Feldman wrote:
> On Tue, Jul 20, 2004 at 08:20:23PM +0200, Poul-Henning Kamp wrote:
> 
>>I'm pulling hair out trying to make it guaranteed safe to unload device
>>driver modules, and the major pain here is to make sure there is no
>>thread stuck somewhere inside the code.
>>
>>That gave me the idea for a simple little DIAGNOSTIC check for kldunload:
>>run through the proc/thread table and look for any thread with an
>>instruction counter inside the range of pages we are going to unload.
>>
>>Any takers ?
> 
> 
> You mean any thread with a stack trace that includes an instruction
> counter inside those pages, don't you?
> 

This is better than phk's suggestion since you can have module code
that calls out to another part of the system and blocks.  Still, it's
not 100% perfect.  There are all sorts of APIs out there that do async
callbacks, and it really should be up to the driver to track these
things.

Scott


More information about the freebsd-arch mailing list