On Tue, Feb 20, 2018 at 10:23:41AM -0600, Christopher Lameter wrote: > On Tue, 20 Feb 2018, Matthew Wilcox wrote: > > > I don't think it's fixable; there's just too much information per slab. > > Anyway, I preferred the solution you & I were working on to limit the > > length of names to 16 bytes, except for the cgroup slabs. > > So what do we do with the cgroup slab names? have a slabinfo per cgroup? What I had in mind ... struct kmem_cache_attr { const char name[16]; unsigned int size; unsigned int align; unsigned int useroffset; unsigned int usersize; slab_flags_t flags; kmem_cache_ctor ctor; } struct kmem_cache { const struct kmem_cache_attr *a; const char *name; ... }; In kmem_cache_create_usercopy: s->name = a->name; In memcg_create_kmem_cache: s->name = kasprintf(GFP_KERNEL, "%s(%llu:%s)", a->name, css->serial_nr, memcg_name_buf); In slab_kmem_cache_release: if (s->name != s->a->name) kfree_const(s->name); -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>