Lines Matching full:block

14  * 2013-07-11     Grissiom     fix the memory block splitting issue.
37 * | whole freed memory block | Used Memory Block Tailer |
40 * block_list --> whole freed memory block
42 * The length of Used Memory Block Tailer is 0,
43 * which is prevents block merging across list
72 /* initialize the first big memory block */ in rt_lwp_memheap_init()
85 /* block list header */ in rt_lwp_memheap_init()
88 /* place the big memory block to free list */ in rt_lwp_memheap_init()
94 /* move to the end of memory pool to build a small tailer block, in rt_lwp_memheap_init()
95 * which prevents block merging in rt_lwp_memheap_init()
98 /* it's a used memory block */ in rt_lwp_memheap_init()
146 /* get the first free memory block */ in rt_lwp_memheap_alloc()
150 /* get current freed memory block size */ in rt_lwp_memheap_alloc()
154 /* move to next free memory block */ in rt_lwp_memheap_alloc()
162 /* a block that satisfies the request has been found. */ in rt_lwp_memheap_alloc()
164 /* determine if the block needs to be split. */ in rt_lwp_memheap_alloc()
169 /* split the block. */ in rt_lwp_memheap_alloc()
174 ("split: block[0x%08x] nextm[0x%08x] prevm[0x%08x] to new[0x%08x]\n", in rt_lwp_memheap_alloc()
180 /* mark the new block as a memory block and freed. */ in rt_lwp_memheap_alloc()
183 /* put the pool pointer into the new block. */ in rt_lwp_memheap_alloc()
186 /* break down the block list */ in rt_lwp_memheap_alloc()
223 ("one block: block[0x%08x], next_free 0x%08x, prev_free 0x%08x\n", in rt_lwp_memheap_alloc()
234 /* Mark the allocated block as not available. */ in rt_lwp_memheap_alloc()
283 /* get memory block header and get the size of memory block */ in rt_lwp_memheap_realloc()
316 * block: in rt_lwp_memheap_realloc()
332 ("remove block: block[0x%08x], next_free 0x%08x, prev_free 0x%08x", in rt_lwp_memheap_realloc()
346 ("new free block: block[0x%08x] nextm[0x%08x] prevm[0x%08x]", in rt_lwp_memheap_realloc()
351 /* mark the new block as a memory block and freed. */ in rt_lwp_memheap_realloc()
354 /* put the pool pointer into the new block. */ in rt_lwp_memheap_realloc()
381 /* re-allocate a memory block */ in rt_lwp_memheap_realloc()
405 /* split the block. */ in rt_lwp_memheap_realloc()
410 ("split: block[0x%08x] nextm[0x%08x] prevm[0x%08x] to new[0x%08x]\n", in rt_lwp_memheap_realloc()
416 /* mark the new block as a memory block and freed. */ in rt_lwp_memheap_realloc()
418 /* put the pool pointer into the new block. */ in rt_lwp_memheap_realloc()
421 /* break down the block list */ in rt_lwp_memheap_realloc()
427 /* determine if the block can be merged with the next neighbor. */ in rt_lwp_memheap_realloc()
432 /* merge block with next neighbor. */ in rt_lwp_memheap_realloc()
448 /* insert the split block to free list */ in rt_lwp_memheap_realloc()
463 /* return the old memory block */ in rt_lwp_memheap_realloc()
483 RT_DEBUG_LOG(RT_DEBUG_MEMHEAP, ("free memory: memory[0x%08x], block[0x%08x]\n", in rt_lwp_memheap_free()
489 /* check whether this block of memory has been over-written. */ in rt_lwp_memheap_free()
509 /* Determine if the block can be merged with the previous neighbor. */ in rt_lwp_memheap_free()
518 /* yes, merge block with previous neighbor. */ in rt_lwp_memheap_free()
528 /* determine if the block can be merged with the next neighbor. */ in rt_lwp_memheap_free()
534 /* merge block with next neighbor. */ in rt_lwp_memheap_free()