Lines Matching refs:head
49 struct slab_alloc_head head; in slab_alloc_test() local
56 rt_list_init(&head.list); in slab_alloc_test()
57 head.count = 0; in slab_alloc_test()
58 head.start = rt_tick_get(); in slab_alloc_test()
59 head.end = rt_tick_get() + rt_tick_from_millisecond(SLAB_RANG_ALLOC_TEST_TIME * 1000); in slab_alloc_test()
60 head.interval = (head.end - head.start) / 20; in slab_alloc_test()
67 while (head.end - head.start < RT_TICK_MAX / 2) in slab_alloc_test()
69 if (rt_tick_get() - head.start >= head.interval) in slab_alloc_test()
71 head.start = rt_tick_get(); in slab_alloc_test()
82 if (head.count == 0) in slab_alloc_test()
86 size = head.count / 2; in slab_alloc_test()
87 while (size != head.count) in slab_alloc_test()
89 ctx = rt_list_first_entry(&head.list, struct slab_alloc_context, node); in slab_alloc_test()
100 head.count --; in slab_alloc_test()
116 rt_list_insert_after(&head.list, &ctx->node); in slab_alloc_test()
117 head.count += 1; in slab_alloc_test()
121 if (!rt_list_isempty(&head.list)) in slab_alloc_test()
123 ctx = rt_list_first_entry(&head.list, struct slab_alloc_context, node); in slab_alloc_test()
134 head.count --; in slab_alloc_test()
138 while (!rt_list_isempty(&head.list)) in slab_alloc_test()
140 ctx = rt_list_first_entry(&head.list, struct slab_alloc_context, node); in slab_alloc_test()
151 head.count --; in slab_alloc_test()
153 uassert_int_equal(head.count, 0); in slab_alloc_test()
181 struct slab_realloc_head head; in slab_realloc_test() local
191 head.ctx_tab = RT_NULL; in slab_realloc_test()
192 head.count = size; in slab_realloc_test()
193 head.start = rt_tick_get(); in slab_realloc_test()
194 head.end = rt_tick_get() + rt_tick_from_millisecond(SLAB_RANG_ALLOC_TEST_TIME * 1000); in slab_realloc_test()
195 head.interval = (head.end - head.start) / 20; in slab_realloc_test()
202 size = head.count * sizeof(struct slab_realloc_context *); in slab_realloc_test()
203 head.ctx_tab = rt_slab_alloc(heap, size); in slab_realloc_test()
204 uassert_not_null(head.ctx_tab); in slab_realloc_test()
205 rt_memset(head.ctx_tab, 0, size); in slab_realloc_test()
207 while (head.end - head.start < RT_TICK_MAX / 2) in slab_realloc_test()
209 if (rt_tick_get() - head.start >= head.interval) in slab_realloc_test()
211 head.start = rt_tick_get(); in slab_realloc_test()
216 idx = rand() % head.count; in slab_realloc_test()
217 ctx = rt_slab_realloc(heap, head.ctx_tab[idx], size); in slab_realloc_test()
222 if (head.ctx_tab[idx]) in slab_realloc_test()
224 head.ctx_tab[idx] = RT_NULL; in slab_realloc_test()
229 for (idx = 0; idx < head.count; idx++) in slab_realloc_test()
231 ctx = head.ctx_tab[idx]; in slab_realloc_test()
244 head.ctx_tab[idx] = RT_NULL; in slab_realloc_test()
251 if (head.ctx_tab[idx] != RT_NULL) in slab_realloc_test()
280 head.ctx_tab[idx] = ctx; in slab_realloc_test()
283 for (idx = 0; idx < head.count; idx++) in slab_realloc_test()
285 ctx = head.ctx_tab[idx]; in slab_realloc_test()
300 head.ctx_tab[idx] = RT_NULL; in slab_realloc_test()