Lines Matching refs:it
251 item *it = NULL; in do_slabs_alloc_chunked() local
266 it = (item *)p->slots; in do_slabs_alloc_chunked()
267 p->slots = it->next; in do_slabs_alloc_chunked()
268 if (it->next) it->next->prev = 0; in do_slabs_alloc_chunked()
271 it->h_next = (item *)p->slots; in do_slabs_alloc_chunked()
272 assert(it->h_next != 0); in do_slabs_alloc_chunked()
273 chunk = (item_chunk *) it->h_next; in do_slabs_alloc_chunked()
280 chunk->head = it; in do_slabs_alloc_chunked()
294 it->it_flags &= ~ITEM_SLABBED; in do_slabs_alloc_chunked()
295 it->it_flags |= ITEM_CHUNKED; in do_slabs_alloc_chunked()
296 it->refcount = 1; in do_slabs_alloc_chunked()
298 ret = (void *)it; in do_slabs_alloc_chunked()
311 item *it = NULL; in do_slabs_alloc() local
332 it = (item *)p->slots; in do_slabs_alloc()
333 p->slots = it->next; in do_slabs_alloc()
334 if (it->next) it->next->prev = 0; in do_slabs_alloc()
337 it->it_flags &= ~ITEM_SLABBED; in do_slabs_alloc()
338 it->refcount = 1; in do_slabs_alloc()
340 ret = (void *)it; in do_slabs_alloc()
359 static void do_slabs_free_chunked(item *it, const size_t size, unsigned int id, in do_slabs_free_chunked() argument
361 item_chunk *chunk = (item_chunk *) ITEM_data(it); in do_slabs_free_chunked()
367 chunk = (item_chunk *) ITEM_data(it); in do_slabs_free_chunked()
370 it->it_flags = ITEM_SLABBED; in do_slabs_free_chunked()
371 it->slabs_clsid = 0; in do_slabs_free_chunked()
372 it->prev = 0; in do_slabs_free_chunked()
373 it->next = (item *) chunk->next; in do_slabs_free_chunked()
374 assert(it->next); in do_slabs_free_chunked()
376 assert(it->next && (void*)it->next->prev == (void*)chunk); in do_slabs_free_chunked()
378 chunk->prev = (item_chunk *)it; in do_slabs_free_chunked()
397 p->slots = it; in do_slabs_free_chunked()
407 item *it; in do_slabs_free() local
416 it = (item *)ptr; in do_slabs_free()
417 if ((it->it_flags & ITEM_CHUNKED) == 0) { in do_slabs_free()
418 it->it_flags = ITEM_SLABBED; in do_slabs_free()
419 it->slabs_clsid = 0; in do_slabs_free()
420 it->prev = 0; in do_slabs_free()
421 it->next = p->slots; in do_slabs_free()
422 if (it->next) it->next->prev = it; in do_slabs_free()
423 p->slots = it; in do_slabs_free()
428 do_slabs_free_chunked(it, size, id, p); in do_slabs_free()
745 static void slab_rebalance_cut_free(slabclass_t *s_cls, item *it) { in slab_rebalance_cut_free() argument
747 assert(it->it_flags == ITEM_SLABBED); in slab_rebalance_cut_free()
748 if (s_cls->slots == it) { in slab_rebalance_cut_free()
749 s_cls->slots = it->next; in slab_rebalance_cut_free()
751 if (it->next) it->next->prev = it->prev; in slab_rebalance_cut_free()
752 if (it->prev) it->prev->next = it->next; in slab_rebalance_cut_free()
793 item *it = slab_rebal.slab_pos; in slab_rebalance_move() local
796 if (it->it_flags & ITEM_CHUNK) { in slab_rebalance_move()
798 ch = (item_chunk *) it; in slab_rebalance_move()
802 it = ch->head; in slab_rebalance_move()
803 assert(it->it_flags & ITEM_CHUNKED); in slab_rebalance_move()
809 if (it->it_flags != (ITEM_SLABBED|ITEM_FETCHED)) { in slab_rebalance_move()
811 if (it->it_flags & ITEM_SLABBED) { in slab_rebalance_move()
813 slab_rebalance_cut_free(s_cls, it); in slab_rebalance_move()
815 } else if ((it->it_flags & ITEM_LINKED) != 0) { in slab_rebalance_move()
821 hv = hash(ITEM_key(it), it->nkey); in slab_rebalance_move()
825 refcount = refcount_incr(&it->refcount); in slab_rebalance_move()
829 if ((it->it_flags & ITEM_LINKED) != 0) { in slab_rebalance_move()
840 it->refcount, slab_rebal.s_clsid, slab_rebal.d_clsid); in slab_rebalance_move()
846 refcount_decr(&it->refcount); in slab_rebalance_move()
869 ntotal = ITEM_ntotal(it); in slab_rebalance_move()
871 if (ch == NULL && (it->it_flags & ITEM_CHUNKED)) { in slab_rebalance_move()
876 if ((it->exptime != 0 && it->exptime < current_time) in slab_rebalance_move()
877 || item_is_flushed(it)) { in slab_rebalance_move()
900 memcpy(new_it, it, ntotal); in slab_rebalance_move()
907 do_item_replace(it, new_it, hv); in slab_rebalance_move()
917 it->refcount = 0; in slab_rebalance_move()
918 it->it_flags = ITEM_SLABBED|ITEM_FETCHED; in slab_rebalance_move()
920 memcpy(ITEM_key(it), "deadbeef", 8); in slab_rebalance_move()
937 refcount_decr(&it->refcount); in slab_rebalance_move()
942 ntotal = ITEM_ntotal(it); in slab_rebalance_move()
943 do_item_unlink(it, hv); in slab_rebalance_move()
944 slabs_free(it, ntotal, slab_rebal.s_clsid); in slab_rebalance_move()
957 it->refcount = 0; in slab_rebalance_move()
958 it->it_flags = ITEM_SLABBED|ITEM_FETCHED; in slab_rebalance_move()
960 memcpy(ITEM_key(it), "deadbeef", 8); in slab_rebalance_move()
1013 item *it = slab_rebal.slab_pos; in slab_rebalance_finish() local
1014 assert(it->it_flags == (ITEM_SLABBED|ITEM_FETCHED)); in slab_rebalance_finish()
1015 assert(memcmp(ITEM_key(it), "deadbeef", 8) == 0); in slab_rebalance_finish()
1016 it->it_flags = ITEM_SLABBED|ITEM_FETCHED; in slab_rebalance_finish()