Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bccba06c authored by threader's avatar threader Committed by Bernhard Thoben
Browse files

mm: pick up parts of commit 4066c33d0308f87e9a3b0c7fafb9141c0bfbfa77

Author: Gavin Guo <gavin.guo@canonical.com>
Date:   Wed Jun 24 16:55:54 2015 -0700

    mm/slab_common: support the slub_debug boot option on specific object size
parent f48ba6d7
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -388,6 +388,28 @@ struct kmem_cache *kmalloc_slab(size_t size, gfp_t flags)
	return kmalloc_caches[kmalloc_type(flags)][index];
}

/*
 * kmalloc_info[] is to make slub_debug=,kmalloc-xx option work at boot time.
 * kmalloc_index() supports up to 2^26=64MB, so the final entry of the table is
 * kmalloc-67108864.
 */
const struct kmalloc_info_struct kmalloc_info[] __initconst = {
	{NULL,                      0},		{"kmalloc-96",             96},
	{"kmalloc-192",           192},		{"kmalloc-8",               8},
	{"kmalloc-16",             16},		{"kmalloc-32",             32},
	{"kmalloc-64",             64},		{"kmalloc-128",           128},
	{"kmalloc-256",           256},		{"kmalloc-512",           512},
	{"kmalloc-1k",           1024},		{"kmalloc-2k",           2048},
	{"kmalloc-4k",           4096},		{"kmalloc-8k",           8192},
	{"kmalloc-16k",         16384},		{"kmalloc-32k",         32768},
	{"kmalloc-64k",         65536},		{"kmalloc-128k",       131072},
	{"kmalloc-256k",       262144},		{"kmalloc-512k",       524288},
	{"kmalloc-1M",        1048576},		{"kmalloc-2M",        2097152},
	{"kmalloc-4M",        4194304},		{"kmalloc-8M",        8388608},
	{"kmalloc-16M",      16777216},		{"kmalloc-32M",      33554432},
	{"kmalloc-64M",      67108864}
};

static void new_kmalloc_cache(int idx, unsigned long flags)
{
       kmalloc_caches[idx] = create_kmalloc_cache(kmalloc_info[idx].name,