-----Original Message-----
> (BTW, at a glance I'm not sure why the 2nd stage is
needed...
> sp_hashed was already checked with STREQ in symname_hash_search if found,
> otherwise st->synmane_hash should include all kernel symbols..)
>
Hello Kazu,
Yes, from my view I also think the 2nd stage is not necessary, I have
thought about removing
it as well, but I just don't want to go too far at one step. :-)
OK, I see.
> One more, do you have any slow command that will be especially
improved
> by the patch? I'm ok with the sym command taking 3ms :-)
> I'd like to know why the patch should be applied or how much the worst
> command etc. will be improved, to see the importance of it.
>
No, I don't have a specific slow command. Because the modified functions
symbol_search and symbol_exists are fundamental and widely used by
other crash functions, thus the benefit of performance improvement can
get accumulated. In addition, the time consumption for T3 shortened greatly,
from 2.4 to 0.017, maybe this can be one of the reasons.
OK.
As far as I've checked a large machine (with 192 CPUs), there are not many
commands but several commands call symbol_search and symbol_exists returning
"not found" many times:
symbol_search symbol_exists
found NULL found NULL
startup 95 21 29 21
ps -m 1951 1951 0 0
irq 1850 0 0 13448
irq -a 1850 0 884 10777
irq -s 1850 0 884 10777
timer 193 193 0 0
Actually, these commands were obviously improved by the patch.
So let's add some explanation like this to the commit log:
" 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."
Anyway, I'll review the patch, please wait for a while.
Thanks,
Kazu