Re: [PATCH v2] slab+slob: dup name string
From: Christoph Lameter <hidden>
Date: 2012-05-23 13:53:33
Also in:
linux-mm, lkml
On Tue, 22 May 2012, David Rientjes wrote:
On Tue, 22 May 2012, Christoph Lameter wrote:quoted
quoted
[ v2: Also dup string for early caches, requested by David Rientjes ]kstrdups that early could cause additional issues. Its better to leave things as they were.No, it's not, there's no reason to prevent caches created before g_cpucache_up <= EARLY to be destroyed because it makes a patch easier to implement and then leave that little gotcha as an undocumented treasure for someone to find when they try it later on.
g_cpucache_up <= EARLY is slab bootstrap code and the system is in a pretty fragile state. Plus the the kmalloc logic *depends* on these caches being present. Removing those is not a good idea. The other caches that are created at that point are needed to create more caches. There is no reason to remove these caches.
This is much easier to do, just statically allocate the const char *'s needed for the boot caches and then set their ->name's manually in kmem_cache_init() and then avoid the kfree() in kmem_cache_destroy() if the name is between &boot_cache_name[0] and &boot_cache_name[n].
Yeah that is already occurring for some of the boot caches.