On Wed, 7 May 2014 14:45:16 +0400 Vladimir Davydov <[email protected]> 
wrote:

> @@ -3164,6 +3141,7 @@ void memcg_free_cache_params(struct kmem_cache *s)
>  static void memcg_kmem_create_cache(struct mem_cgroup *memcg,
>                                   struct kmem_cache *root_cache)
>  {
> +     static char *memcg_name_buf;    /* protected by memcg_slab_mutex */
>       struct kmem_cache *cachep;
>       int id;
>  
> @@ -3179,7 +3157,14 @@ static void memcg_kmem_create_cache(struct mem_cgroup 
> *memcg,
>       if (cache_from_memcg_idx(root_cache, id))
>               return;
>  
> -     cachep = kmem_cache_create_memcg(memcg, root_cache);
> +     if (!memcg_name_buf) {
> +             memcg_name_buf = kmalloc(NAME_MAX + 1, GFP_KERNEL);
> +             if (!memcg_name_buf)
> +                     return;
> +     }

Does this have any meaningful advantage over the simpler

        static char memcg_name_buf[NAME_MAX + 1];

?

I guess it saves a scrap of memory if the machine never uses memcg's.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to