----- Original Message -----
> 
> Hi Dave,
> 
> 
> On 8/8/2018 2:24 PM, Dave Anderson wrote:
> > 
> > Kazu,
> > 
> > Nicely done!  It's a huge improvement in readability, cleans up some
> > unnecessary duplication, and tests well on all of my old and new
> > kernel dumpfiles that I have on hand.  Queued for crash-7.2.4:
> > 
> >   
> > https://github.com/crash-utility/crash/commit/455da1ae5c7f22ba870aa57e071dad340749bdcd
> 
> Thank you for the test and merging!
> 
> but I just found the rest of work, -I option is not adjusted
> to the patch.

Hi Kazu,

Looks good -- and I also fixed the "help kmem" description of the -I option.
Queued for crash-7.2.4:

  
https://github.com/crash-utility/crash/commit/e9532aea6818b347bc0740f39efd4ec844cfb9b0
   
Thanks again,
  Dave

> 
>   crash> kmem -s -I nfs_commit_data
>   CACHE             OBJSIZE  ALLOCATED     TOTAL  SLABS  SSIZE  NAME
>   ffff88017fc79800      352          0         0      0    16k
>   nfs_direct_cache
>   ffff88017fc79700 nfs_commit_data    [IGNORED]
>   ffff88017fc79600      888         32      2880     80    32k  nfs_read_data
> 
> How about the following?
> 
>   crash> kmem -s -I nfs_commit_data
>   CACHE             OBJSIZE  ALLOCATED     TOTAL  SLABS  SSIZE  NAME
>   ffff88017fc79800      352          0         0      0    16k
>   nfs_direct_cache
>   ffff88017fc79700 [IGNORED]
>   nfs_commit_data
>   ffff88017fc79600      888         32      2880     80    32k  nfs_read_data
> 
> ---
>  memory.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/memory.c b/memory.c
> index 5bcf09e..4790cf6 100644
> --- a/memory.c
> +++ b/memory.c
> @@ -9963,6 +9963,9 @@ ignore_cache(struct meminfo *si, char *name)
>  #define KMEM_SLAB_OVERLOAD_PAGE (8)
>  #define KMEM_SLAB_FREELIST      (9)
>  
> +#define DUMP_KMEM_CACHE_TAG(addr, name, tag) \
> +     fprintf(fp, "%lx %-43s  %s\n", addr, tag, name)
> +
>  #define DUMP_KMEM_CACHE_INFO()  dump_kmem_cache_info(si)
>  
>  static void
> @@ -10094,7 +10097,7 @@ dump_kmem_cache(struct meminfo *si)
>                       goto next_cache;
>  
>               if (ignore_cache(si, buf)) {
> -                     fprintf(fp, "%lx %-18s [IGNORED]\n", si->cache, buf);
> +                     DUMP_KMEM_CACHE_TAG(si->cache, buf, "[IGNORED]");
>                       goto next_cache;
>               }
>  
> @@ -10303,7 +10306,7 @@ dump_kmem_cache_percpu_v1(struct meminfo *si)
>                       goto next_cache;
>  
>                  if (ignore_cache(si, buf)) {
> -                        fprintf(fp, "%lx %-18s [IGNORED]\n", si->cache,
> buf);
> +                        DUMP_KMEM_CACHE_TAG(si->cache, buf, "[IGNORED]");
>                          goto next_cache;
>                  }
>  
> @@ -10547,12 +10550,12 @@ dump_kmem_cache_percpu_v2(struct meminfo *si)
>                       goto next_cache;
>  
>                  if (ignore_cache(si, buf)) {
> -                        fprintf(fp, "%lx %-18s [IGNORED]\n", si->cache,
> buf);
> +                        DUMP_KMEM_CACHE_TAG(si->cache, buf, "[IGNORED]");
>                          goto next_cache;
>                  }
>  
>               if (bad_slab_cache(si->cache)) {
> -                        fprintf(fp, "%lx %-18s [INVALID/CORRUPTED]\n",
> si->cache, buf);
> +                        DUMP_KMEM_CACHE_TAG(si->cache, buf,
> "[INVALID/CORRUPTED]");
>                          goto next_cache;
>               }
>  
> @@ -18109,8 +18112,7 @@ dump_kmem_cache_slub(struct meminfo *si)
>                       fprintf(fp, "%s", kmem_cache_hdr);
>               }
>               if (ignore_cache(si, buf)) {
> -                     fprintf(fp, "%lx %-18s [IGNORED]\n",
> -                             si->cache_list[i], buf);
> +                     DUMP_KMEM_CACHE_TAG(si->cache_list[i], buf, 
> "[IGNORED]");
>                       goto next_cache;
>               }
>  
> --
> 1.8.3.1
> 
> 
> 
> > 
> > Thanks,
> >   Dave
> > 
> > 
> > ----- Original Message -----
> >> Nowadays, "kmem -s" output can have long lines due to cache name with
> >> memcg name, and I don't think that it's human-readable as it is.
> >>
> >> crash> kmem -s
> >> CACHE            NAME                 OBJSIZE  ALLOCATED     TOTAL  SLABS
> >> SSIZE
> >> ffff8a1522c15380 kmalloc-128(12536:session-11.scope) 128  111       128
> >> 4     4k
> >> ffff8a1522c15200 radix_tree_node(12536:session-11.scope) 576  340
> >> 434     31     8k
> >> ffff8a1523d15380 xfs_inode(12536:session-11.scope) 904  1567      1581
> >> 93
> >> 16k
> >> ffff8a1522c15080 nfs_inode_cache(12536:session-11.scope) 1072  140
> >> 165     11    16k
> >> ffff8a1523d14c00 shmem_inode_cache(12536:session-11.scope) 696  0
> >> 46      2    16k
> >>
> >> So, can we move the 'NAME' column to the last of line like this?
> >>
> >> crash> kmem -s
> >> CACHE             OBJSIZE  ALLOCATED     TOTAL  SLABS  SSIZE  NAME
> >> ffff8a1522c15380      128        111       128      4     4k
> >> kmalloc-128(12536:session-11.scope)
> >> ffff8a1522c15200      576        340       434     31     8k
> >> radix_tree_node(12536:session-11.scope)
> >> ffff8a1523d15380      904       1567      1581     93    16k
> >> xfs_inode(12536:session-11.scope)
> >> ffff8a1522c15080     1072        140       165     11    16k
> >> nfs_inode_cache(12536:session-11.scope)
> >> ffff8a1523d14c00      696          0        46      2    16k
> >> shmem_inode_cache(12536:session-11.scope)
> >>
> >> If we can, crash has the three functions to print them for each slab/slub
> >> version and I think that it would be good to change all of them together.
> >> Fortunately, the header is same among them, and it looks like we can unify
> >> them into one function. [Patch 1]
> >>
> >> And then, move it to the last of line. [Patch 2]
> >>
> >> I tested this with some vmcores having PERCPU_KMALLOC_V2 or KMALLOC_SLUB
> >> and found no problem, but I don't have any vmcores having
> >> PERCPU_KMALLOC_V1
> >> or no flag.
> >>
> >> Kazuhito Hagio (2):
> >>   Unify the three functions printing "kmem -s" line into one function
> >>   Move NAME column in "kmem -s" output to the last of line
> >>
> >>  help.c   | 136
> >>  +++++++++++++++++++++++++++++++--------------------------------
> >>  memory.c | 132
> >>  +++++++++++++++----------------------------------------------
> >>  2 files changed, 99 insertions(+), 169 deletions(-)
> >>
> >> --
> >> 1.8.3.1
> >>
> >> --
> >> Crash-utility mailing list
> >> Crash-utility@redhat.com
> >> https://www.redhat.com/mailman/listinfo/crash-utility
> >>
> > 
> > --
> > Crash-utility mailing list
> > Crash-utility@redhat.com
> > https://www.redhat.com/mailman/listinfo/crash-utility
> > 
> 
> --
> Crash-utility mailing list
> Crash-utility@redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
> 

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

Reply via email to