On Wed, 18 Jul 2018, Vlastimil Babka wrote: > +static const char * > +kmalloc_cache_name(const char *prefix, unsigned int size) > +{ > + > + static const char units[3] = "\0kM"; > + int idx = 0; > + > + while (size >= 1024 && (size % 1024 == 0)) { > + size /= 1024; > + idx++; > + } > + > + return kasprintf(GFP_NOWAIT, "%s-%u%c", prefix, size, units[idx]); > +} This is likely to occur elsewhere in the kernel. Maybe generalize it a bit? Acked-by: Christoph Lameter <cl@xxxxxxxxx>