Hi Tao, thanks, v3 is almost perfect. The only thing you should do in patch 1 is to cleanup some unused variable declarations. With that fixed you can add my Reviewed-by: Philipp Rudo <prudo@xxxxxxxxxx> to the first three patches. All in all the last patch is fine too. I only think that the 'assert' is too strict and it would be better to replace it by a warning + continue. Thanks Philipp On Tue, 14 Sep 2021 17:01:50 +0800 Tao Liu <ltao@xxxxxxxxxx> wrote: > 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(-) > -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/crash-utility