• Yuanzheng Song's avatar
    tools/vm/slabinfo: use alphabetic order when two values are equal · 4f5ceb88
    Yuanzheng Song authored
    When the number of partial slabs in each cache is the same (e.g., the
    value are 0), the results of the `slabinfo -X -N5` and `slabinfo -P -N5`
    are different.
    
    / # slabinfo -X -N5
    ...
    Slabs sorted by number of partial slabs
    ---------------------------------------
    Name                   Objects Objsize           Space Slabs/Part/Cpu  O/S O %Fr %Ef Flg
    inode_cache              15180     392         6217728b        758/0/1   20 1   0  95 a
    kernfs_node_cache        22494      88         2002944        488/0/1   46 0   0  98
    shmem_inode_cache          663     464          319488         38/0/1   17 1   0  96
    biovec-max                  50    3072          163840          4/0/1   10 3   0  93 A
    dentry                   19050     136         2600960        633/0/2   30 0   0  99 a
    
    / # slabinfo -P -N5
    Name                   Objects Objsize           Space Slabs/Part/Cpu  O/S O %Fr %Ef Flg
    bdev_cache                  32     984           32.7K          1/0/1   16 2   0  96 Aa
    ext4_inode_cache            42     752           32.7K          1/0/1   21 2   0  96 a
    dentry                   19050     136            2.6M        633/0/2   30 0   0  99 a
    TCPv6                       17    1840           32.7K          0/0/1   17 3   0  95 A
    RAWv6                       18     856           16.3K          0/0/1   18 2   0  94 A
    
    This problem is caused by the sort_slabs().  So let's use alphabetic order
    when two values are equal in the sort_slabs().
    
    By the way, the content of the `slabinfo -h` is not aligned because the
    
    `-P|--partial Sort by number of partial slabs`
    
    uses tabs instead of spaces.  So let's use spaces instead of tabs to fix
    it.
    
    Link: https://lkml.kernel.org/r/20220528063117.935158-1-songyuanzheng@huawei.com
    Fixes: 1106b205 ("tools/vm/slabinfo: add partial slab listing to -X")
    Signed-off-by: default avatarYuanzheng Song <songyuanzheng@huawei.com>
    Cc: "Tobin C. Harding" <tobin@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    4f5ceb88
slabinfo.c 37.4 KB