This patch set improves symbol_search/symbol_exists performance by introducing hash
table for kernel modules symbols.
v2 -> v3:
1) Seperate v2 patch into multiple patches.
2) Several code indented formatting.
3) Moved "if (sp != NULL)" check from mod_symtable_hash_install/remove_range
into symname_hash_install/remove, and shorten it to be "if (!sp)" check.
4) Replaced "index = index > 0 ? index : -index;" into abs() in
SYMNAME_HASH_INDEX macro.
5) Replaced the code of remove hash table elements in symname_hash_remove with
Kazu's version, and variable "tmp" of v2 patch get removed.
6) Removed "first_encounter" check in symname_hash_remove.
7) Add assert check in symname_hash_install.
Tao Liu (4):
Improve the performance of symbol searching for kernel modules
Get the absolute value of SYMNAME_HASH_INDEX
Set name_hash_next field to be NULL for the newly installed elements
Add assert check if an element is installed one more time
defs.h | 3 +-
kernel.c | 1 +
symbols.c | 170 +++++++++++++++++++++++++++++-------------------------
3 files changed, 95 insertions(+), 79 deletions(-)
--
2.29.2