Re: [PATCH] modules: Take a shortcut for checking if an address isin a module

From: Ingo Molnar
Date: Wed Jun 18 2008 - 05:57:43 EST



* Vegard Nossum <vegard.nossum@xxxxxxxxx> wrote:

> > > > Various pieces of the kernel (lockdep, latencytop, etc) tend to
> > > > store backtraces, sometimes at a relatively high frequency. In
> > > > itself this isn't a big performance deal (after all you're
> > > > using diagnostics features), but there have been some
> > > > complaints from people who have over 100 modules loaded that
> > > > this is a tad too slow.
>
> Would it be overkill to simply drop the module addresses in an rbtree
> and use that instead of a linear search over all the modules?
>
> It would probably take a fair number of lines in C, and with a little
> memory overhead, but the speed-up should be great. Should I give it a
> try? (It would be arch-independent too.)

that's a tempting idea. rbtrees seem to be equally robust to plain lists
in my experience, so i'd not find the extra complexity a showstopper, as
long as the changes are well-tested. (radix trees on the other hand ...
;-)

Rusty, Peter, Linus, any fundamental objections to Vegard's idea? Being
able to take a transparent stack-trace signature for debugging or
instrumentation purposes is important and performance does matter there
IMO.

Ingo
--
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/