On Mon, Jan 27, 2020 at 09:34:52AM -0800, Roman Gushchin wrote: > Make slabinfo.py compatible with the new slab controller. Tried using slabinfo.py, but run into some errors. (I am using your new_slab.2 branch) ./tools/cgroup/slabinfo.py /sys/fs/cgroup/memory/1 Traceback (most recent call last): File "/usr/local/bin/drgn", line 11, in <module> sys.exit(main()) File "/usr/local/lib/python3.6/dist-packages/drgn/internal/cli.py", line 127, in main runpy.run_path(args.script[0], init_globals=init_globals, run_name="__main__") File "/usr/lib/python3.6/runpy.py", line 263, in run_path pkg_name=pkg_name, script_name=fname) File "/usr/lib/python3.6/runpy.py", line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name) File "/usr/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "./tools/cgroup/slabinfo.py", line 220, in <module> main() File "./tools/cgroup/slabinfo.py", line 165, in main find_memcg_ids() File "./tools/cgroup/slabinfo.py", line 43, in find_memcg_ids MEMCGS[css.cgroup.kn.id.ino.value_()] = memcg AttributeError: '_drgn.Object' object has no attribute 'ino' I did make this change... # git diff diff --git a/tools/cgroup/slabinfo.py b/tools/cgroup/slabinfo.py index b779a4863beb..571fd95224d6 100755 --- a/tools/cgroup/slabinfo.py +++ b/tools/cgroup/slabinfo.py @@ -40,7 +40,7 @@ def find_memcg_ids(css=prog['root_mem_cgroup'].css, prefix=''): 'sibling'): name = prefix + '/' + css.cgroup.kn.name.string_().decode('utf-8') memcg = container_of(css, 'struct mem_cgroup', 'css') - MEMCGS[css.cgroup.kn.id.ino.value_()] = memcg + MEMCGS[css.cgroup.kn.id.value_()] = memcg find_memcg_ids(css, name) but now get empty output. # ./tools/cgroup/slabinfo.py /sys/fs/cgroup/memory/1 # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> Guess this script is not yet ready for the upstream kernel? Regards, Bharata.