Lines Matching refs:lwp_heap

36     struct rt_lwp_memheap *lwp_heap;  in rt_lwp_malloc_page()  local
48 lwp_heap = rt_malloc(sizeof(struct rt_lwp_memheap)); in rt_lwp_malloc_page()
49 if (lwp_heap == RT_NULL) in rt_lwp_malloc_page()
59 rt_free(lwp_heap); in rt_lwp_malloc_page()
66 rt_lwp_memheap_init(lwp_heap, name, chunk, npages * LWP_MEM_PAGE_SIZE); in rt_lwp_malloc_page()
68 rt_list_insert_before(&lwp->hlist, &lwp_heap->mlist); in rt_lwp_malloc_page()
75 static void rt_lwp_free_page(struct rt_lwp *lwp, struct rt_lwp_memheap *lwp_heap) in rt_lwp_free_page() argument
80 RT_ASSERT(lwp_heap != RT_NULL); in rt_lwp_free_page()
81 RT_ASSERT(lwp_heap->start_addr != RT_NULL); in rt_lwp_free_page()
83 npages = lwp_heap->pool_size / LWP_MEM_PAGE_SIZE; in rt_lwp_free_page()
88 rt_list_remove(&lwp_heap->mlist); in rt_lwp_free_page()
90 rt_free(lwp_heap->start_addr); in rt_lwp_free_page()
91 rt_free(lwp_heap); in rt_lwp_free_page()
110 struct rt_lwp_memheap *lwp_heap; in rt_lwp_mem_deinit() local
112 lwp_heap = rt_list_entry(node, struct rt_lwp_memheap, mlist); in rt_lwp_mem_deinit()
113 RT_ASSERT(lwp_heap != RT_NULL); in rt_lwp_mem_deinit()
118 rt_lwp_free_page(lwp, lwp_heap); in rt_lwp_mem_deinit()
137 struct rt_lwp_memheap *lwp_heap; in rt_lwp_mem_malloc() local
138 lwp_heap = rt_list_entry(node, struct rt_lwp_memheap, mlist); in rt_lwp_mem_malloc()
140 addr = rt_lwp_memheap_alloc(lwp_heap, size); in rt_lwp_mem_malloc()
158 struct rt_lwp_memheap *lwp_heap; in rt_lwp_mem_free() local
167 lwp_heap = header_ptr->pool_ptr; in rt_lwp_mem_free()
168 RT_ASSERT(lwp_heap); in rt_lwp_mem_free()
173 if (rt_lwp_memheap_is_empty(lwp_heap)) in rt_lwp_mem_free()
175 rt_lwp_free_page(rt_lwp_self(), lwp_heap); in rt_lwp_mem_free()