Messages in this thread | | | From | Rasmus Villemoes <> | Subject | Re: [PATCH v2] mm/slab_common: Support the slub_debug boot option on specific object size | Date | Thu, 23 Apr 2015 11:55:56 +0200 |
| |
On Wed, Apr 22 2015, Gavin Guo <gavin.guo@canonical.com> wrote:
> /* > + * The kmalloc_names is for temporary usage to make > + * slub_debug=,kmalloc-xx option work in the boot time. The > + * kmalloc_index() support to 2^26=64MB. So, the final entry of the > + * table is kmalloc-67108864. > + */ > + static const char *kmalloc_names[] = {
The array itself could be const, but more importantly it should be marked __initconst so that the 27*sizeof(char*) bytes can be released after init.
> + "0", "kmalloc-96", "kmalloc-192", > + "kmalloc-8", "kmalloc-16", "kmalloc-32", > + "kmalloc-64", "kmalloc-128", "kmalloc-256", > + "kmalloc-512", "kmalloc-1024", "kmalloc-2048", > + "kmalloc-4196", "kmalloc-8192", "kmalloc-16384",
"kmalloc-4096"
> + "kmalloc-32768", "kmalloc-65536", > + "kmalloc-131072", "kmalloc-262144", > + "kmalloc-524288", "kmalloc-1048576", > + "kmalloc-2097152", "kmalloc-4194304", > + "kmalloc-8388608", "kmalloc-16777216", > + "kmalloc-33554432", "kmalloc-67108864" > + };
On Wed, Apr 22 2015, Andrew Morton <akpm@linux-foundation.org> wrote:
> You could do something like > > kmalloc_caches[i] = create_kmalloc_cache( > kmalloc_names[i], > kstrtoul(kmalloc_names[i] + 8), > flags); > > here, and remove those weird "96" and "192" cases.
Eww. At least spell 8 as strlen("kmalloc-").
> Or if that's considered too messy, make it > > static const struct { > const char *name; > unsigned size; > } kmalloc_cache_info[] = { > { NULL, 0 }, > { "kmalloc-96", 96 }, > ... > };
I'd vote for this color for the bikeshed :-)
Rasmus
| |