Re: [QUESTION] Why isn't there a unregister_die_notifier?

From: Steven Rostedt
Date: Thu Aug 18 2005 - 11:54:45 EST


On Thu, 2005-08-18 at 18:32 +0200, Andi Kleen wrote:
> Steven Rostedt <rostedt@xxxxxxxxxxx> writes:
>
> > Hi, I have a debugging module that I want to register a die notifier.
> > But I just noticed that I can't unregister it. So for now I either just
> > keep the module loaded and never unloaded it, compile it into the
> > kernel, or ifdef out the register_die_notifier when loaded as a module.
> >
> > Is there some reason that there isn't such a call, or maybe there is,
> > and I don't see it (called something else). Or is this something that
> > should be added?
>
> I didn't add one original because unloading debuggers is very tricky.
> There is no locking and no reference counting and they can be entered
> in any context. Adding it would require some RCU tricks at least and
> might still have some non trivial races.

Yeah, I use macros to call all the debugger code and spinlocks to
protect them. The macros change when the module is built into the kernel
to not do any protection, since it isn't needed. It's not the most
efficient thing, and RCU would probably be better. But I can insert and
remove this module over and over with the debugging going on, and it
hasn't broke yet. But I guess, I'll just do without for now.

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/