Lines Matching defs:cache

142 	struct kmem_cache *cache = private;
144 return (cache->kc_constructor(mem, cache->kc_private, flags));
150 struct kmem_cache *cache = private;
152 cache->kc_destructor(mem, cache->kc_private);
160 kmem_cache_t *cache;
164 cache = kmem_alloc(sizeof (*cache), KM_SLEEP);
165 strlcpy(cache->kc_name, name, sizeof (cache->kc_name));
166 cache->kc_constructor = constructor;
167 cache->kc_destructor = destructor;
168 cache->kc_private = private;
170 cache->kc_zone = uma_zcreate(cache->kc_name, bufsize,
175 cache->kc_size = bufsize;
178 return (cache);
182 kmem_cache_destroy(kmem_cache_t *cache)
185 uma_zdestroy(cache->kc_zone);
187 kmem_free(cache, sizeof (*cache));
191 kmem_cache_alloc(kmem_cache_t *cache, int flags)
194 return (uma_zalloc_arg(cache->kc_zone, cache, flags));
198 p = kmem_alloc(cache->kc_size, flags);
199 if (p != NULL && cache->kc_constructor != NULL)
200 kmem_std_constructor(p, cache->kc_size, cache, flags);
206 kmem_cache_free(kmem_cache_t *cache, void *buf)
209 uma_zfree_arg(cache->kc_zone, buf, cache);
211 if (cache->kc_destructor != NULL)
212 kmem_std_destructor(buf, cache->kc_size, cache);
213 kmem_free(buf, cache->kc_size);
240 kmem_cache_reap_soon(kmem_cache_t *cache)
243 uma_zone_reclaim(cache->kc_zone, UMA_RECLAIM_DRAIN);
254 kmem_cache_reap_soon(kmem_cache_t *cache __unused)
297 spl_kmem_cache_inuse(kmem_cache_t *cache)
299 return (uma_zone_get_cur(cache->kc_zone));
303 spl_kmem_cache_entry_size(kmem_cache_t *cache)
305 return (cache->kc_zone->uz_size);
309 * Register a move callback for cache defragmentation.