Re: [PATCH v3] mm: Restructure kmem_cache_create() to move debugcache integrity checks into a new function

From: Pekka Enberg
Date: Thu Aug 16 2012 - 02:40:07 EST


On Thu, Aug 16, 2012 at 2:53 AM, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Sun, 12 Aug 2012 10:40:18 -0600
> Shuah Khan <shuah.khan@xxxxxx> wrote:
>
>> kmem_cache_create() does cache integrity checks when CONFIG_DEBUG_VM
>> is defined. These checks interspersed with the regular code path has
>> lead to compile time warnings when compiled without CONFIG_DEBUG_VM
>> defined. Restructuring the code to move the integrity checks in to a new
>> function would eliminate the current compile warning problem and also
>> will allow for future changes to the debug only code to evolve without
>> introducing new warnings in the regular path. This restructuring work
>> is based on the discussion in the following thread:
>
> Your patch appears to be against some ancient old kernel, such as 3.5.
> I did this:
>
> --- a/mm/slab_common.c~mm-slab_commonc-restructure-kmem_cache_create-to-move-debug-cache-integrity-checks-into-a-new-function-fix
> +++ a/mm/slab_common.c
> @@ -101,15 +101,8 @@ struct kmem_cache *kmem_cache_create(con
>
> get_online_cpus();
> mutex_lock(&slab_mutex);
> -
> - if (kmem_cache_sanity_check(name, size))
> - goto oops;
> -
> - s = __kmem_cache_create(name, size, align, flags, ctor);
> -
> -#ifdef CONFIG_DEBUG_VM
> -oops:
> -#endif
> + if (kmem_cache_sanity_check(name, size) == 0)
> + s = __kmem_cache_create(name, size, align, flags, ctor);
> mutex_unlock(&slab_mutex);
> put_online_cpus();

Yup. Shuah, care to spin another version against slab/next?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/