Lines Matching refs:cachep
28 void *kmem_cache_alloc(struct kmem_cache *cachep, int flags) in kmem_cache_alloc() argument
35 pthread_mutex_lock(&cachep->lock); in kmem_cache_alloc()
36 if (cachep->nr_objs) { in kmem_cache_alloc()
37 cachep->nr_objs--; in kmem_cache_alloc()
38 node = cachep->objs; in kmem_cache_alloc()
39 cachep->objs = node->parent; in kmem_cache_alloc()
40 pthread_mutex_unlock(&cachep->lock); in kmem_cache_alloc()
43 pthread_mutex_unlock(&cachep->lock); in kmem_cache_alloc()
44 node = malloc(cachep->size); in kmem_cache_alloc()
45 if (cachep->ctor) in kmem_cache_alloc()
46 cachep->ctor(node); in kmem_cache_alloc()
55 void kmem_cache_free(struct kmem_cache *cachep, void *objp) in kmem_cache_free() argument
61 pthread_mutex_lock(&cachep->lock); in kmem_cache_free()
62 if (cachep->nr_objs > 10) { in kmem_cache_free()
63 memset(objp, POISON_FREE, cachep->size); in kmem_cache_free()
67 cachep->nr_objs++; in kmem_cache_free()
68 node->parent = cachep->objs; in kmem_cache_free()
69 cachep->objs = node; in kmem_cache_free()
71 pthread_mutex_unlock(&cachep->lock); in kmem_cache_free()