-----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