kmemtrace, rcu: don't include unnecessary headers, allow kmemtrace w/ tracepoints
[deliverable/linux.git] / include / trace / kmemtrace.h
1 /*
2 * Copyright (C) 2008 Eduard - Gabriel Munteanu
3 *
4 * This file is released under GPL version 2.
5 */
6
7 #ifndef _LINUX_KMEMTRACE_H
8 #define _LINUX_KMEMTRACE_H
9
10 #ifdef __KERNEL__
11
12 #include <linux/types.h>
13 #include <linux/marker.h>
14
15 enum kmemtrace_type_id {
16 KMEMTRACE_TYPE_KMALLOC = 0, /* kmalloc() or kfree(). */
17 KMEMTRACE_TYPE_CACHE, /* kmem_cache_*(). */
18 KMEMTRACE_TYPE_PAGES, /* __get_free_pages() and friends. */
19 };
20
21 #ifdef CONFIG_KMEMTRACE
22
23 extern void kmemtrace_init(void);
24
25 extern void kmemtrace_mark_alloc_node(enum kmemtrace_type_id type_id,
26 unsigned long call_site,
27 const void *ptr,
28 size_t bytes_req,
29 size_t bytes_alloc,
30 gfp_t gfp_flags,
31 int node);
32
33 extern void kmemtrace_mark_free(enum kmemtrace_type_id type_id,
34 unsigned long call_site,
35 const void *ptr);
36
37 #else /* CONFIG_KMEMTRACE */
38
39 static inline void kmemtrace_init(void)
40 {
41 }
42
43 static inline void kmemtrace_mark_alloc_node(enum kmemtrace_type_id type_id,
44 unsigned long call_site,
45 const void *ptr,
46 size_t bytes_req,
47 size_t bytes_alloc,
48 gfp_t gfp_flags,
49 int node)
50 {
51 }
52
53 static inline void kmemtrace_mark_free(enum kmemtrace_type_id type_id,
54 unsigned long call_site,
55 const void *ptr)
56 {
57 }
58
59 #endif /* CONFIG_KMEMTRACE */
60
61 static inline void kmemtrace_mark_alloc(enum kmemtrace_type_id type_id,
62 unsigned long call_site,
63 const void *ptr,
64 size_t bytes_req,
65 size_t bytes_alloc,
66 gfp_t gfp_flags)
67 {
68 kmemtrace_mark_alloc_node(type_id, call_site, ptr,
69 bytes_req, bytes_alloc, gfp_flags, -1);
70 }
71
72 #endif /* __KERNEL__ */
73
74 #endif /* _LINUX_KMEMTRACE_H */
75
This page took 0.035845 seconds and 5 git commands to generate.