diff options
author | Richard Kennedy <richard@rsk.demon.co.uk> | 2011-05-19 18:55:25 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2011-05-19 03:25:25 -0400 |
commit | a288bd651f4180c224cfddf837a0416157a36661 (patch) | |
tree | 7f966b8a0e31b8b6f2e64198c0429da57949df4a /include/linux | |
parent | 9b73a5840c7d5f77e5766626716df13787cb258c (diff) |
module: remove 64 bit alignment padding from struct module with CONFIG_TRACE*
Reorder struct module to remove 24 bytes of alignment padding on 64 bit
builds when the CONFIG_TRACE options are selected. This allows the
structure to fit into one fewer cache lines, and its size drops from 592
to 568 on x86_64.
Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/module.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/include/linux/module.h b/include/linux/module.h index 23996ad147e7..65cc6cc73ca8 100644 --- a/include/linux/module.h +++ b/include/linux/module.h | |||
@@ -368,34 +368,35 @@ struct module | |||
368 | struct module_notes_attrs *notes_attrs; | 368 | struct module_notes_attrs *notes_attrs; |
369 | #endif | 369 | #endif |
370 | 370 | ||
371 | /* The command line arguments (may be mangled). People like | ||
372 | keeping pointers to this stuff */ | ||
373 | char *args; | ||
374 | |||
371 | #ifdef CONFIG_SMP | 375 | #ifdef CONFIG_SMP |
372 | /* Per-cpu data. */ | 376 | /* Per-cpu data. */ |
373 | void __percpu *percpu; | 377 | void __percpu *percpu; |
374 | unsigned int percpu_size; | 378 | unsigned int percpu_size; |
375 | #endif | 379 | #endif |
376 | 380 | ||
377 | /* The command line arguments (may be mangled). People like | ||
378 | keeping pointers to this stuff */ | ||
379 | char *args; | ||
380 | #ifdef CONFIG_TRACEPOINTS | 381 | #ifdef CONFIG_TRACEPOINTS |
381 | struct tracepoint * const *tracepoints_ptrs; | ||
382 | unsigned int num_tracepoints; | 382 | unsigned int num_tracepoints; |
383 | struct tracepoint * const *tracepoints_ptrs; | ||
383 | #endif | 384 | #endif |
384 | #ifdef HAVE_JUMP_LABEL | 385 | #ifdef HAVE_JUMP_LABEL |
385 | struct jump_entry *jump_entries; | 386 | struct jump_entry *jump_entries; |
386 | unsigned int num_jump_entries; | 387 | unsigned int num_jump_entries; |
387 | #endif | 388 | #endif |
388 | #ifdef CONFIG_TRACING | 389 | #ifdef CONFIG_TRACING |
389 | const char **trace_bprintk_fmt_start; | ||
390 | unsigned int num_trace_bprintk_fmt; | 390 | unsigned int num_trace_bprintk_fmt; |
391 | const char **trace_bprintk_fmt_start; | ||
391 | #endif | 392 | #endif |
392 | #ifdef CONFIG_EVENT_TRACING | 393 | #ifdef CONFIG_EVENT_TRACING |
393 | struct ftrace_event_call **trace_events; | 394 | struct ftrace_event_call **trace_events; |
394 | unsigned int num_trace_events; | 395 | unsigned int num_trace_events; |
395 | #endif | 396 | #endif |
396 | #ifdef CONFIG_FTRACE_MCOUNT_RECORD | 397 | #ifdef CONFIG_FTRACE_MCOUNT_RECORD |
397 | unsigned long *ftrace_callsites; | ||
398 | unsigned int num_ftrace_callsites; | 398 | unsigned int num_ftrace_callsites; |
399 | unsigned long *ftrace_callsites; | ||
399 | #endif | 400 | #endif |
400 | 401 | ||
401 | #ifdef CONFIG_MODULE_UNLOAD | 402 | #ifdef CONFIG_MODULE_UNLOAD |