• Home
  • Raw
  • Download

Lines Matching full:free

6 Leijen, Zorn, and de Moura in [Mimalloc: Free List Sharding in
11 allocated ("free") in order to provide them to future allocation requests.
13 bookkeeping, where each free block stores a pointer to the next free block,
15 recently freed block, the _head_ of the free list. To allocate more memory,
16 the allocator pops from the free list by setting the head pointer to the
17 next free block of the current head block, and returning the previous head.
18 To deallocate a block, the block is pushed to the free list by setting its
25 they must synchronize accesses to the free list; either by putting the
27 treat the free list as a lock-free structure (such as a [Treiber stack]). In
28 both cases, there is a significant performance cost — even when the free
29 list is lock-free, it is likely that a noticeable amount of time will be
31 created by the single global free list could be avoided as much as possible.
42 introduce a concept of _local_ and _global_ free lists. When an object is
44 on the local free list; if it is deallocated on another thread, it goes on
45 the global free list for the heap of the thread from which it originated. To
46 allocate, the local free list is used first; if it is empty, the entire
47 global free list is popped onto the local free list. Since the local free
49 synchronization at all, and because the global free list is popped from
64 and remote free lists.
108 When searching for a free slot, the smallest page is searched first, and if
109 it is full, the search proceeds to the next page until either a free slot is