aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/module.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2015-05-27 11:09:37 +0930
committerRusty Russell <rusty@rustcorp.com.au>2015-05-28 11:32:07 +0930
commit6c9692e2d6a2206d8fd75ea247daa47fb75e4a02 (patch)
tree260a11511b3b629ec1cbcdeb3417e74590028e99 /include/linux/module.h
parentmodule: Optimize __module_address() using a latched RB-tree (diff)
downloadlinux-dev-6c9692e2d6a2206d8fd75ea247daa47fb75e4a02.tar.xz
linux-dev-6c9692e2d6a2206d8fd75ea247daa47fb75e4a02.zip
module: Make the mod_tree stuff conditional on PERF_EVENTS || TRACING
Andrew worried about the overhead on small systems; only use the fancy code when either perf or tracing is enabled. Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Steven Rostedt <rostedt@goodmis.org> Requested-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux/module.h')
-rw-r--r--include/linux/module.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/module.h b/include/linux/module.h
index ddf35a3368fb..4c1b02e1361d 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -282,7 +282,7 @@ struct module {
*
* Cacheline align here, such that:
* module_init, module_core, init_size, core_size,
- * init_text_size, core_text_size and ltn_core.node[0]
+ * init_text_size, core_text_size and mtn_core::{mod,node[0]}
* are on the same cacheline.
*/
void *module_init ____cacheline_aligned;
@@ -296,6 +296,7 @@ struct module {
/* The size of the executable code in each section. */
unsigned int init_text_size, core_text_size;
+#ifdef CONFIG_MODULES_TREE_LOOKUP
/*
* We want mtn_core::{mod,node[0]} to be in the same cacheline as the
* above entries such that a regular lookup will only touch one
@@ -303,6 +304,7 @@ struct module {
*/
struct mod_tree_node mtn_core;
struct mod_tree_node mtn_init;
+#endif
/* Size of RO sections of the module (text+rodata) */
unsigned int init_ro_size, core_ro_size;