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

From: Arjan van de Ven
Date: Wed Jun 11 2008 - 11:19:03 EST


On Wed, 11 Jun 2008 21:12:08 +1000
Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:

> On Wednesday 11 June 2008 06:05:19 Arjan van de Ven wrote:
> > From: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
> > Subject: [PATCH] modules: Take a shortcut for checking if an
> > address is in a module
> >
> > 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.
>
> Nothing wrong with the idea, but how about a nice
> arch_maybe_module_addr() macro rather than ifdefs in module.c?

Everytime someone says that, I go crawl under my desk and weep quietly
for 10 minutes.

Yes ifdefs aren't nice. However, arch_foo_bar_baz() is equally bad, it
just moves the uglyness around a little. It's like multiplying the dirt
by three and then sweeping it under 3 different carpets. Sure in your
area the room looks clean, but the total amount of crap didn't decrease.

The only half-way sane way to do arch_has_foo is using weak functions,
but unfortunately that runs into gcc issues to the point of not being
usable without a great amount of care... the alternatives are both
unpleasant and overkill. We really should try to keep the arch stuff as
small as possible; a gazillion arch_foo_bar()'s is the opposite
direction there ;(


--
If you want to reach me at my work email, use arjan@xxxxxxxxxxxxxxx
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
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/