At 2012-2-3 1:24, Dave Anderson wrote:
But in other circumstances where there may be ambiguity, I've
put
in the option of putting a "\" in front of the name, i.e., you
could do something like:
crash> kmem -s list
ffff880079e44a00 nfs_read_data
ffff880079e44700 nfs_inode_cache
ffff880079e44d00 fscache_cookie_jar
...
crash> kmem -s \list
CACHE NAME OBJSIZE ALLOCATED TOTAL SLABS SSIZE
ffff88007b895400 list 240 0 0 0 4k
crash>
That would be simple enough fix in cmd_kmem() if you re-work this part:
if (sflag == 1) {
if (STREQ(meminfo.reqname, "list"))
kmem_cache_list();
else if (vt->flags& KMEM_CACHE_UNAVAIL)
error(FATAL,
"kmem cache slab subsystem not available\n");
else
vt->dump_kmem_cache(&meminfo);
}
Hello Dave,
Thanks for your advice! But after some investigation, "\list" may also
involve ambiguity. I created a kmem_cache called "\list", the original
code can display the following information after executing "kmem -s \list".
crash> kmem -s \list
CACHE NAME OBJSIZE ALLOCATED TOTAL
SLABS SSIZE
ffff880874b30c40 \list 8 0 0
0 4k
crash>
Need to use "\\list" to refer the kmem_cache called "\list" if code is
changed? Please! I find it is better to remain the original code. Could
you give me some tips?
--
--
Regards
Qiao Nuohan