| 1160 | } |
| 1161 | |
| 1162 | static int |
| 1163 | destroy_elem(struct malloc_elem *elem, size_t len) |
| 1164 | { |
| 1165 | struct malloc_heap *heap = elem->heap; |
| 1166 | |
| 1167 | /* notify all subscribers that a memory area is going to be removed */ |
| 1168 | eal_memalloc_mem_event_notify(RTE_MEM_EVENT_FREE, elem, len); |
| 1169 | |
| 1170 | /* this element can be removed */ |
| 1171 | malloc_elem_free_list_remove(elem); |
| 1172 | malloc_elem_hide_region(elem, elem, len); |
| 1173 | |
| 1174 | heap->total_size -= len; |
| 1175 | |
| 1176 | memset(elem, 0, sizeof(*elem)); |
| 1177 | |
| 1178 | return 0; |
| 1179 | } |
| 1180 | |
| 1181 | struct rte_memseg_list * |
| 1182 | malloc_heap_create_external_seg(void *va_addr, rte_iova_t iova_addrs[], |
no test coverage detected