diff options
author | Matthew Wilcox <willy@linux.intel.com> | 2016-12-14 18:09:25 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-14 19:04:10 -0500 |
commit | de1af8f62a78ea8abcc2dddb6de622e4069a368e (patch) | |
tree | a1a43b87398e8356e489a7fa55c23f300e0c76c8 /tools/testing/radix-tree/linux.c | |
parent | 424251a4a929a1b6dff2056d49135e3805132e32 (diff) |
radix tree test suite: add some more functionality
IDR needs more functionality from the kernel: kmalloc()/kfree(), and
xchg().
Link: http://lkml.kernel.org/r/1480369871-5271-67-git-send-email-mawilcox@linuxonhyperv.com
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Tested-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Matthew Wilcox <mawilcox@microsoft.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'tools/testing/radix-tree/linux.c')
-rw-r--r-- | tools/testing/radix-tree/linux.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/testing/radix-tree/linux.c b/tools/testing/radix-tree/linux.c index 1f32a16a3848..ff0452e8a0c4 100644 --- a/tools/testing/radix-tree/linux.c +++ b/tools/testing/radix-tree/linux.c | |||
@@ -54,6 +54,21 @@ void kmem_cache_free(struct kmem_cache *cachep, void *objp) | |||
54 | free(objp); | 54 | free(objp); |
55 | } | 55 | } |
56 | 56 | ||
57 | void *kmalloc(size_t size, gfp_t gfp) | ||
58 | { | ||
59 | void *ret = malloc(size); | ||
60 | uatomic_inc(&nr_allocated); | ||
61 | return ret; | ||
62 | } | ||
63 | |||
64 | void kfree(void *p) | ||
65 | { | ||
66 | if (!p) | ||
67 | return; | ||
68 | uatomic_dec(&nr_allocated); | ||
69 | free(p); | ||
70 | } | ||
71 | |||
57 | struct kmem_cache * | 72 | struct kmem_cache * |
58 | kmem_cache_create(const char *name, size_t size, size_t offset, | 73 | kmem_cache_create(const char *name, size_t size, size_t offset, |
59 | unsigned long flags, void (*ctor)(void *)) | 74 | unsigned long flags, void (*ctor)(void *)) |