a question about slub in function __slab_free()

From: Xishi Qiu
Date: Wed Mar 02 2016 - 07:32:01 EST


___slab_alloc()
deactivate_slab()
add_full(s, n, page);
The page will be added to full list and the frozen is 0, right?

__slab_free()
prior = page->freelist; // prior is NULL
was_frozen = new.frozen; // was_frozen is 0
...
/*
* Slab was on no list before and will be
* partially empty
* We can defer the list move and instead
* freeze it.
*/
new.frozen = 1;
...

I don't understand why "Slab was on no list before"?

Thanks,
Xishi Qiu