Patch "tools/cgroup/slabinfo.py: updated to work on current kernel" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    tools/cgroup/slabinfo.py: updated to work on current kernel

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     tools-cgroup-slabinfo.py-updated-to-work-on-current-.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 24bc8eaa11cdec7783e1bda83ac37cb8a21b2d53
Author: Vasily Averin <vvs@xxxxxxxxxxxxx>
Date:   Fri Apr 23 14:29:03 2021 -0700

    tools/cgroup/slabinfo.py: updated to work on current kernel
    
    [ Upstream commit 1974c45dd7745e999b9387be3d8fdcb27a5b1721 ]
    
    slabinfo.py script does not work with actual kernel version.
    
    First, it was unable to recognise SLUB susbsytem, and when I specified
    it manually it failed again with
    
      AttributeError: 'struct page' has no member 'obj_cgroups'
    
    .. and then again with
    
      File "tools/cgroup/memcg_slabinfo.py", line 221, in main
        memcg.kmem_caches.address_of_(),
      AttributeError: 'struct mem_cgroup' has no member 'kmem_caches'
    
    Link: https://lkml.kernel.org/r/cec1a75e-43b4-3d64-2084-d9f98fda037f@xxxxxxxxxxxxx
    Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx>
    Tested-by: Roman Gushchin <guro@xxxxxx>
    Acked-by: Roman Gushchin <guro@xxxxxx>
    Cc: Michal Hocko <mhocko@xxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/cgroup/memcg_slabinfo.py b/tools/cgroup/memcg_slabinfo.py
index c4225ed63565..1600b17dbb8a 100644
--- a/tools/cgroup/memcg_slabinfo.py
+++ b/tools/cgroup/memcg_slabinfo.py
@@ -128,9 +128,9 @@ def detect_kernel_config():
 
     cfg['nr_nodes'] = prog['nr_online_nodes'].value_()
 
-    if prog.type('struct kmem_cache').members[1][1] == 'flags':
+    if prog.type('struct kmem_cache').members[1].name == 'flags':
         cfg['allocator'] = 'SLUB'
-    elif prog.type('struct kmem_cache').members[1][1] == 'batchcount':
+    elif prog.type('struct kmem_cache').members[1].name == 'batchcount':
         cfg['allocator'] = 'SLAB'
     else:
         err('Can\'t determine the slab allocator')
@@ -193,7 +193,7 @@ def main():
         # look over all slab pages, belonging to non-root memcgs
         # and look for objects belonging to the given memory cgroup
         for page in for_each_slab_page(prog):
-            objcg_vec_raw = page.obj_cgroups.value_()
+            objcg_vec_raw = page.memcg_data.value_()
             if objcg_vec_raw == 0:
                 continue
             cache = page.slab_cache
@@ -202,7 +202,7 @@ def main():
             addr = cache.value_()
             caches[addr] = cache
             # clear the lowest bit to get the true obj_cgroups
-            objcg_vec = Object(prog, page.obj_cgroups.type_,
+            objcg_vec = Object(prog, 'struct obj_cgroup **',
                                value=objcg_vec_raw & ~1)
 
             if addr not in stats:



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux