* [QUESTION] Why isn't there a unregister_die_notifier?
@ 2005-08-18 14:59 Steven Rostedt
0 siblings, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2005-08-18 14:59 UTC (permalink / raw)
To: LKML
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?
Thanks,
-- Steve
^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <1124377142.5186.45.camel@localhost.localdomain.suse.lists.linux.kernel>]
* Re: [QUESTION] Why isn't there a unregister_die_notifier?
[not found] <1124377142.5186.45.camel@localhost.localdomain.suse.lists.linux.kernel>
@ 2005-08-18 16:32 ` Andi Kleen
2005-08-18 16:52 ` Steven Rostedt
0 siblings, 1 reply; 3+ messages in thread
From: Andi Kleen @ 2005-08-18 16:32 UTC (permalink / raw)
To: Steven Rostedt; +Cc: linux-kernel
Steven Rostedt <rostedt@goodmis.org> 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.
-Andi
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [QUESTION] Why isn't there a unregister_die_notifier?
2005-08-18 16:32 ` Andi Kleen
@ 2005-08-18 16:52 ` Steven Rostedt
0 siblings, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2005-08-18 16:52 UTC (permalink / raw)
To: Andi Kleen; +Cc: linux-kernel
On Thu, 2005-08-18 at 18:32 +0200, Andi Kleen wrote:
> Steven Rostedt <rostedt@goodmis.org> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-08-18 16:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-18 14:59 [QUESTION] Why isn't there a unregister_die_notifier? Steven Rostedt
[not found] <1124377142.5186.45.camel@localhost.localdomain.suse.lists.linux.kernel>
2005-08-18 16:32 ` Andi Kleen
2005-08-18 16:52 ` Steven Rostedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome