/* Allocate an object from this cache. The flags are only relevant if the cache has no available objects.  */
void* kmem_cache_alloc(struct kmem_cache *cachep, gfp_t flags)
/* Allocate an object from this cache. The flags are only relevant if the cache has no available objects.  */
void* kmem_cache_alloc(struct kmem_cache *cachep, gfp_t flags)
{
	void *ret = __cache_alloc(cachep, flags, __builtin_return_address(0));
	trace_kmem_cache_alloc(_RET_IP_, ret,
			       obj_size(cachep), cachep->buffer_size, flags);
	return ret;
}