Re: [PATCH] mm: provide interface for retrieving kmem_cache name

From: Michal Hocko
Date: Thu Nov 07 2019 - 08:13:48 EST


On Thu 07-11-19 13:26:09, Knut Omang wrote:
> On Thu, 2019-11-07 at 12:58 +0100, Michal Hocko wrote:
> > On Thu 07-11-19 12:54:04, Knut Omang wrote:
> > > With the restructuring done in commit 9adeaa226988
> > > ("mm, slab: move memcg_cache_params structure to mm/slab.h")
> > >
> > > it is no longer possible for code external to mm to access
> > > the name of a kmem_cache as struct kmem_cache has effectively become
> > > opaque. Having access to the cache name is helpful to kernel testing
> > > infrastructure.
> > >
> > > Expose a new function kmem_cache_name to mitigate that.
> >
> > Who is going to use that symbol? It is preferred that a user is added in
> > the same patch as the newly added symbol.
>
> Yes, I am aware that that's the normal practice,
> we're currently using cache->name directly in the kernel
> unit test framework KTF (https://github.com/oracle/ktf/)
> which we are working (https://lkml.org/lkml/2019/8/13/111) to get
> into the kernel in one form or another.

Please add the export with a patch that really needs it.

> To me this seems like a natural part of an API for the kmem_cache
> data structure now that it has in effect become opaque, so it seemed
> appropriate to get it in close in time to the patch that no longer
> makes this possible, instead of someone else hitting this down the road.

Well, this is something for SLAB maintainers but I do not really think
the name is something the in kernel code should care about. It is solely
for presenting reasonable statistics to the userspace and that code
workds just fine AFAIK.
--
Michal Hocko
SUSE Labs