[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200709132330.33283.vda.linux@googlemail.com>
Date: Thu, 13 Sep 2007 23:30:33 +0100
From: Denys Vlasenko <vda.linux@...glemail.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH] module.c: add missing ifdefs for CONFIG_UNUSED_SYMBOLS
Hi Andrew,
module.c and module.h conatains code for finding
exported symbols which are declared with EXPORT_UNUSED_SYMBOL,
and this code is compiled in even if CONFIG_UNUSED_SYMBOLS is not set
and thus there can be no EXPORT_UNUSED_SYMBOLs in modules anyway
(because EXPORT_UNUSED_SYMBOL(x) are compiled out to nothing then).
This patch adds required #ifdefs.
This shrinks module.o and each *.ko file.
Patch also regroups some struct module members so
that on 64 bit CPUs we are not wasting 32 bits on padding here:
const struct kernel_symbol *unused_syms;
unsigned int num_unused_syms;
const unsigned long *unused_crcs;
It groups counters and pointers separately.
Patch makes small edit to help text of CONFIG_MODULE_UNLOAD -
it explicitly says that without that option, kernel
will be also faster, not only "smaller and simpler".
When I realized how much churn is going on under the hood
in order to make module unloading possible, I felt that
users are not informed well enough about it in the help text.
And finally, structure members which hold length of module
code (four such members there) and count of symbols
are converted from longs to ints.
We cannot possibly have a module where 32 bits won't
be enough to hold such counts.
For one, module loading checks module size for sanity
before loading, so such insanely big module will fail
that test first.
In short, patch makes trivial changes which are "obviously correct"
(famous last words).
Patch is compile tested with various combinations of CONFIGs.
Please put it into -mm.
Signed-off-by: Denys Vlasenko <vda.linux@...glemail.com>
--
vda
View attachment "linux-2.6.23-rc6.structmodule.patch" of type "text/x-diff" (8953 bytes)
Powered by blists - more mailing lists