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(a)redhat.com>
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(a)redhat.com> 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(-)