Re: [PATCH v6 0/7] Improve kernel modules symbol searching performance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----Original Message-----
> Hi Lijiang,
> 
> On Sat, Oct 23, 2021 at 9:27 AM lijiang <lijiang@xxxxxxxxxx> wrote:
> >
> > On Sat, Oct 16, 2021 at 1:21 PM Tao Liu <ltao@xxxxxxxxxx> wrote:
> > >
> > > Currently the sequence for symbol_search to search a symbol is: 1) kernel
> > > symname hash table, 2) iterate all kernel symbols, 3) iterate all kernel
> > > modules and their symbols. In the worst case, if a non-exist symbol been
> > > searched, all 3 stages will be went through. The time consuming status for
> > > each stage is like:
> > >
> > >     stage 1         stage 2         stage 3
> > >     0.007000(ms)    0.593000(ms)    2.421000(ms)
> > >
> > > stage 3 takes too much time when comparing to stage 1. This patch introduces
> > > a symname hash table for kernel modules, to improve the performance of symbol
> > > searching.
> > >
> > > Functions symbol_search and symbol_exists are fundamental and widely used by
> > > other crash functions, thus the benefit of performance improvement can
> > > get accumulated. For example, "ps -m" and "irq" commands, which call
> > > the functions many times, will become faster with the patch.
> > >
> > > v5 -> v6:
> > >
> > > 1) Add mod_symname_hash table dump to help -s
> > > 2) Modified mod_symname_hash install/remove based on Kazu's suggestion.
> > >
> > > Tao Liu (7):
> > >   Implement install and remove operations for mod_symname_hash
> > >   Integrate symbol_search with mod_symname_hash search
> > >   Extend symname_hash_search with hash table select
> > >   Intergrate symbol_exists with mod_symname_hash search
> > >   Sync module symbols into mod_symtable whenever module symbols change
> > >   Refactor SYMNAME_HASH_INDEX macro to be a function
> > >   Add mod_symname_hash table dump to help -s
> > >
> > >  defs.h    |   3 +-
> > >  kernel.c  |   1 +
> > >  symbols.c | 261 +++++++++++++++++++++++++++++++++---------------------
> > >  3 files changed, 164 insertions(+), 101 deletions(-)
> > >
> >
> > For the V6:  Acked-by: Lianbo Jiang <lijiang@xxxxxxxxxx>
> > Thanks.

Thank you Tao Liu, Philipp and Lianbo for the improvements.
Applied to the both branches with some minor adjustments.

Thanks,
Kazu



--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/crash-utility




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux