slab_free
简介
分析源码
/* mm/slub.c */
static __always_inline void slab_free(struct kmem_cache *s,
struct page *page, void *x, unsigned long addr)
{
void **object = (void *)x;
struct kmem_cache_cpu *c;
c = __this_cpu_ptr(s->cpu_slab);
if (likely(page == c->page && c->node >= 0)) {
set_freepointer(s, object, c->freelist);
c->freelist = object;
stat(s, FREE_FASTPATH);
} else
__slab_free(s, page, x, addr);
}Last updated