1
0
Files
linux/kernel
Kevin Cernekee 48fd11880b module: Fix performance regression on modules with large symbol tables
Looking at /proc/kallsyms, one starts to ponder whether all of the extra
strtab-related complexity in module.c is worth the memory savings.

Instead of making the add_kallsyms() loop even more complex, I tried the
other route of deleting the strmap logic and naively copying each string
into core_strtab with no consideration for consolidating duplicates.

Performance on an "already exists" insmod of nvidia.ko (runs
add_kallsyms() but does not actually initialize the module):

	Original scheme: 1.230s
	With naive copying: 0.058s

Extra space used: 35k (of a 408k module).

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
LKML-Reference: <73defb5e4bca04a6431392cc341112b1@localhost>
2012-01-13 09:32:14 +10:30
..
2011-07-26 16:49:45 -07:00
2012-01-03 22:55:17 -05:00
2011-09-23 12:05:29 +05:30
2011-07-14 12:59:14 +03:00
2012-01-03 22:54:56 -05:00
2011-10-31 17:30:44 -07:00
2011-08-12 16:21:35 -05:00
2011-09-19 17:04:37 -07:00