• Zhen Lei's avatar
    kallsyms: Add helper kallsyms_on_each_match_symbol() · 4dc533e0
    Zhen Lei authored
    Function kallsyms_on_each_symbol() traverses all symbols and submits each
    symbol to the hook 'fn' for judgment and processing. For some cases, the
    hook actually only handles the matched symbol, such as livepatch.
    
    Because all symbols are currently sorted by name, all the symbols with the
    same name are clustered together. Function kallsyms_lookup_names() gets
    the start and end positions of the set corresponding to the specified
    name. So we can easily and quickly traverse all the matches.
    
    The test results are as follows (twice): (x86)
    kallsyms_on_each_match_symbol:     7454,     7984
    kallsyms_on_each_symbol      : 11733809, 11785803
    
    kallsyms_on_each_match_symbol() consumes only 0.066% of
    kallsyms_on_each_symbol()'s time. In other words, 1523x better
    performance.
    Signed-off-by: default avatarZhen Lei <thunder.leizhen@huawei.com>
    Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
    4dc533e0
kallsyms.c 25.3 KB