Lines Matching defs:cachep
29 void *kmem_cache_alloc(struct kmem_cache *cachep, int gfp)
36 pthread_mutex_lock(&cachep->lock);
37 if (cachep->nr_objs) {
38 struct radix_tree_node *node = cachep->objs;
39 cachep->nr_objs--;
40 cachep->objs = node->parent;
41 pthread_mutex_unlock(&cachep->lock);
45 pthread_mutex_unlock(&cachep->lock);
46 if (cachep->align)
47 posix_memalign(&p, cachep->align, cachep->size);
49 p = malloc(cachep->size);
50 if (cachep->ctor)
51 cachep->ctor(p);
53 memset(p, 0, cachep->size);
62 void kmem_cache_free(struct kmem_cache *cachep, void *objp)
68 pthread_mutex_lock(&cachep->lock);
69 if (cachep->nr_objs > 10 || cachep->align) {
70 memset(objp, POISON_FREE, cachep->size);
74 cachep->nr_objs++;
75 node->parent = cachep->objs;
76 cachep->objs = node;
78 pthread_mutex_unlock(&cachep->lock);