[Crash-utility] [PATCH v3 0/4] Improve kernel modules symbol searching performance

Tao Liu ltao at redhat.com
Tue Sep 14 09:01:50 UTC 2021


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




More information about the Crash-utility mailing list