2016-03-02 21:26 GMT+09:00 Xishi Qiu <[email protected]>: > ___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"?
add_full() is defined only for CONFIG_SLUB_DEBUG. And, actual add happens if slub_debug=u is enabled. In other cases, fully used slab isn't attached on any list. Thanks.

