On Sat, 25 Apr 2015, Martin Husemann wrote:
On Sat, Apr 25, 2015 at 08:59:45AM +0800, Paul Goyette wrote:For some reason, the sme_global_mtx seems to already be locked when sysmon_envsys_register tries to get it.No, it is not initialized:
That is more in line with my expectations. I was surprised that the lock info from Wiz and bch both showed that the owner was curlwp.
The basic problem is that the device configuration is being done long before the module subsystem is fully initialized. And we cannot simply initialize the module subsystem earlier, as many of the modules are devices or pseudodevices which require the configuration system to be available! Chicken vs egg...
I've got a couple of ideas, but they'll take a few days to gestate, and then a bit more time to discuss on tech-kern before implementing. As much as I don't want to do it, I might have to revert that series of commits. And due to a current illness, even the revert might take a couple days.
<snip> Additionally there seems to be a missing mutex_exit() in an error branch:
I think I already caught that one. :) ------------------------------------------------------------------------- | Paul Goyette | PGP Key fingerprint: | E-mail addresses: | | (Retired) | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com | | Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org | -------------------------------------------------------------------------