On Thu, 30 Jan 2014 13:38:56 -0800 (PST) David Rientjes <rientjes@xxxxxxxxxx> wrote: > > > What's funnier is that tmp_name isn't required at all since > > > kmem_cache_create_memcg() is just going to do a kstrdup() on it anyway, so > > > you could easily just pass in the pointer to memory that has been > > > allocated for s->name rather than allocating memory twice. > > > > We need a buffer to sprintf() into. > > > > Yeah, it shouldn't be temporary it should be the one and only allocation. > We should construct the name in memcg_create_kmem_cache() and be done with > it. Could. That would require converting memcg_create_kmem_cache() to take a va_list and call kasprintf() on it. The problem is that pesky rcu_read_lock() which is required around cgroup_name() - we'd have to call memcg_create_kmem_cache() under rcu_read_lock() so the usual GFP_foo limitations apply. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>