This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: offline elfutils processing committed
On Mon, 2006-11-06 at 15:55 -0500, Frank Ch. Eigler wrote:
> Martin Hunt <hunt@redhat.com> writes:
> > I put the spinlock in at the last minute because I was worried that
> > someone might be tempted to use it to try to resolve addresses
> > during a kprobe. [...]
>
> What would be the harm in that? IOW, what kind of concurrency problem
> is the lock intended to prevent?
Module loads (and eventually unloads) will update the list of modules
and their symbols. This cannot happen while a kprobe is looking through
the list resolving some symbol.
>
> > Regarding OOM killer, shouldn't we just set oom_adj to something
> > like +15? That would put us at the top of the victims list [...]
>
> Who is that "us"? The staprun process? It's too late by then - the
> module will not notice that staprun is gone until after the module's
> allocation attempts have hurt the system.
Yeah, "us" means staprun and the systemtap module.
The point is damage control. Systemtap allocates too much memory and
oom killer gets active, the first thing it will kill is staprun and that
should unload the module (but this seems broken at the moment). So we
haven't really hurt the system.
Martin