On Sun Jul 25 2010 at 15:17:29 -0700, Paul Goyette wrote: > On Mon, 26 Jul 2010, matthew green wrote: > > > > >it seems to me the root problem is that module_mutex is held while > >calling into the module startup routines. > > > >thus, the right solution is to remove this requirement. > > Yes, that's what is needed.
I'm far from convinced that's a good idea. First, it will probably make the module code a nightmare -- what happens when you have multiple interleaved loads, some of which fail at some point in their dependency stack, and let's just throw in a manual modunload to mix up things further. Second, and pretty much related to number one, it goes against one of the most fundamental principles of robust code: atomic actions. If modload-from-modcmd is found necessary, sounds more like a case for the infamous recursive lock. (no comment on the actual problem)