Re: Module Refcount & Stuff mini-FAQ

From: Werner Almesberger (wa@almesberger.net)
Date: Sun Nov 24 2002 - 21:07:58 EST


Rusty Russell wrote:
> Q: But the modules' init routine calls my register() routine which
> wants to call back into one of the function pointers immediately,
> and so try_module_get() fails! (because the module is not finished
> initializing yet)
> A: You're being called from the module, so someone already has a
> reference (unless there's a bug), so you don't need a
> try_module_get().

Hmm, I wouldn't call this the answer. How about:
 - Q: why does it fail ?
 - A: because you're initializing
 - solution: but since you're calling from a module, and the call
   goes back to the same module, you don't have to worry

This raises the question: why is this a special case ? The
registration function shouldn't have to know all these details.
(That's the whole point of try_module_get, isn't it ?)

Wouldn't it be possible to simply allow try_module_get also
while the module is initializing ?

> Well, if we continue to start modules unisolated, I need to rewrite
> the FAQ anyway...

Does "unisolated" mean that try_module_get would work ? If yes,
you've already solved the problem ;-)

- Werner

-- 
  _________________________________________________________________________
 / Werner Almesberger, Buenos Aires, Argentina         wa@almesberger.net /
/_http://www.almesberger.net/____________________________________________/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Nov 30 2002 - 22:00:10 EST