|
@@ -138,11 +138,12 @@ void *kmem_cache_alloc(struct kmem_cache *, gfp_t);
|
|
|
void *__kmalloc(size_t size, gfp_t flags);
|
|
|
|
|
|
#ifdef CONFIG_TRACING
|
|
|
-extern void *kmem_cache_alloc_notrace(struct kmem_cache *cachep, gfp_t flags);
|
|
|
+extern void *kmem_cache_alloc_trace(size_t size,
|
|
|
+ struct kmem_cache *cachep, gfp_t flags);
|
|
|
extern size_t slab_buffer_size(struct kmem_cache *cachep);
|
|
|
#else
|
|
|
static __always_inline void *
|
|
|
-kmem_cache_alloc_notrace(struct kmem_cache *cachep, gfp_t flags)
|
|
|
+kmem_cache_alloc_trace(size_t size, struct kmem_cache *cachep, gfp_t flags)
|
|
|
{
|
|
|
return kmem_cache_alloc(cachep, flags);
|
|
|
}
|
|
@@ -179,10 +180,7 @@ found:
|
|
|
#endif
|
|
|
cachep = malloc_sizes[i].cs_cachep;
|
|
|
|
|
|
- ret = kmem_cache_alloc_notrace(cachep, flags);
|
|
|
-
|
|
|
- trace_kmalloc(_THIS_IP_, ret,
|
|
|
- size, slab_buffer_size(cachep), flags);
|
|
|
+ ret = kmem_cache_alloc_trace(size, cachep, flags);
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
@@ -194,14 +192,16 @@ extern void *__kmalloc_node(size_t size, gfp_t flags, int node);
|
|
|
extern void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node);
|
|
|
|
|
|
#ifdef CONFIG_TRACING
|
|
|
-extern void *kmem_cache_alloc_node_notrace(struct kmem_cache *cachep,
|
|
|
- gfp_t flags,
|
|
|
- int nodeid);
|
|
|
+extern void *kmem_cache_alloc_node_trace(size_t size,
|
|
|
+ struct kmem_cache *cachep,
|
|
|
+ gfp_t flags,
|
|
|
+ int nodeid);
|
|
|
#else
|
|
|
static __always_inline void *
|
|
|
-kmem_cache_alloc_node_notrace(struct kmem_cache *cachep,
|
|
|
- gfp_t flags,
|
|
|
- int nodeid)
|
|
|
+kmem_cache_alloc_node_trace(size_t size,
|
|
|
+ struct kmem_cache *cachep,
|
|
|
+ gfp_t flags,
|
|
|
+ int nodeid)
|
|
|
{
|
|
|
return kmem_cache_alloc_node(cachep, flags, nodeid);
|
|
|
}
|
|
@@ -210,7 +210,6 @@ kmem_cache_alloc_node_notrace(struct kmem_cache *cachep,
|
|
|
static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
|
|
|
{
|
|
|
struct kmem_cache *cachep;
|
|
|
- void *ret;
|
|
|
|
|
|
if (__builtin_constant_p(size)) {
|
|
|
int i = 0;
|
|
@@ -234,13 +233,7 @@ found:
|
|
|
#endif
|
|
|
cachep = malloc_sizes[i].cs_cachep;
|
|
|
|
|
|
- ret = kmem_cache_alloc_node_notrace(cachep, flags, node);
|
|
|
-
|
|
|
- trace_kmalloc_node(_THIS_IP_, ret,
|
|
|
- size, slab_buffer_size(cachep),
|
|
|
- flags, node);
|
|
|
-
|
|
|
- return ret;
|
|
|
+ return kmem_cache_alloc_node_trace(size, cachep, flags, node);
|
|
|
}
|
|
|
return __kmalloc_node(size, flags, node);
|
|
|
}
|