Rev 859 | Rev 1066 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 859 | Rev 886 | ||
---|---|---|---|
Line 18... | Line 18... | ||
18 | static slab_t *slab_create(); |
18 | static slab_t *slab_create(); |
Line 19... | Line 19... | ||
19 | 19 | ||
Line 20... | Line -... | ||
20 | static slab_cache_t * slab_cache_alloc(); |
- | |
21 | - | ||
Line 22... | Line 20... | ||
22 | void slab_free(slab_cache_t *cache, void *obj); |
20 | static slab_cache_t * slab_cache_alloc(); |
23 | 21 | ||
24 | 22 | ||
25 | /** |
23 | /** |
Line 311... | Line 309... | ||
311 | 309 | ||
312 | /** Return object to cache, use slab if known */ |
310 | /** Return object to cache, use slab if known */ |
313 | static void _slab_free(slab_cache_t *cache, void *obj, slab_t *slab) |
311 | static void _slab_free(slab_cache_t *cache, void *obj, slab_t *slab) |
314 | { |
312 | { |
Line 315... | Line 313... | ||
315 | // ipl_t ipl; |
313 | eflags_t efl; |
Line 316... | Line 314... | ||
316 | 314 | ||
317 | // ipl = interrupts_disable(); |
315 | efl = safe_cli(); |
Line 318... | Line 316... | ||
318 | 316 | ||
Line 319... | Line 317... | ||
319 | // if ((cache->flags & SLAB_CACHE_NOMAGAZINE) \ |
317 | // if ((cache->flags & SLAB_CACHE_NOMAGAZINE) \ |
320 | || magazine_obj_put(cache, obj)) { |
318 | // || magazine_obj_put(cache, obj)) { |
321 | 319 | ||
322 | slab_obj_destroy(cache, obj, slab); |
320 | slab_obj_destroy(cache, obj, slab); |
Line 323... | Line 321... | ||
323 | 321 | ||
324 | // } |
322 | // } |
325 | // interrupts_restore(ipl); |
323 | safe_sti(efl); |
326 | // atomic_dec(&cache->allocated_objs); |
324 | atomic_dec(&cache->allocated_objs); |
327 | } |
325 | } |
Line 328... | Line 326... | ||
328 | 326 |