Lines Matching refs:slab
56 struct pb_slab *slab = entry->slab; in pb_slab_reclaim() local
59 LIST_ADD(&entry->head, &slab->free); in pb_slab_reclaim()
60 slab->num_free++; in pb_slab_reclaim()
63 if (!slab->head.next) { in pb_slab_reclaim()
65 LIST_ADDTAIL(&slab->head, &group->slabs); in pb_slab_reclaim()
68 if (slab->num_free >= slab->num_entries) { in pb_slab_reclaim()
69 LIST_DEL(&slab->head); in pb_slab_reclaim()
70 slabs->slab_free(slabs->priv, slab); in pb_slab_reclaim()
103 struct pb_slab *slab; in pb_slab_alloc() local
123 slab = LIST_ENTRY(struct pb_slab, group->slabs.next, head); in pb_slab_alloc()
124 if (!LIST_IS_EMPTY(&slab->free)) in pb_slab_alloc()
127 LIST_DEL(&slab->head); in pb_slab_alloc()
139 slab = slabs->slab_alloc(slabs->priv, heap, 1 << order, group_index); in pb_slab_alloc()
140 if (!slab) in pb_slab_alloc()
144 LIST_ADD(&slab->head, &group->slabs); in pb_slab_alloc()
147 entry = LIST_ENTRY(struct pb_slab_entry, slab->free.next, head); in pb_slab_alloc()
149 slab->num_free--; in pb_slab_alloc()