[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200130024425.GB14994@xps.DHCP.thefacebook.com>
Date: Thu, 30 Jan 2020 02:44:31 +0000
From: Roman Gushchin <guro@...com>
To: Bharata B Rao <bharata@...ux.ibm.com>
CC: "linux-mm@...ck.org" <linux-mm@...ck.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Michal Hocko <mhocko@...nel.org>,
"Johannes Weiner" <hannes@...xchg.org>,
Shakeel Butt <shakeelb@...gle.com>,
"Vladimir Davydov" <vdavydov.dev@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Kernel Team <Kernel-team@...com>,
Yafang Shao <laoar.shao@...il.com>
Subject: Re: [PATCH v2 27/28] tools/cgroup: make slabinfo.py compatible with
new slab controller
On Thu, Jan 30, 2020 at 07:47:29AM +0530, Bharata B Rao wrote:
> 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?
Yes, looks like I've used a slightly outdated kernel version to test it.
I'll fix it in the next version.
Thank you for reporting it!
Powered by blists - more mailing lists