this function is exposed in malloc_mp.h */
| 837 | |
| 838 | /* this function is exposed in malloc_mp.h */ |
| 839 | int |
| 840 | malloc_heap_free_pages(void *aligned_start, size_t aligned_len) |
| 841 | { |
| 842 | int n_segs, seg_idx, max_seg_idx; |
| 843 | struct rte_memseg_list *msl; |
| 844 | size_t page_sz; |
| 845 | |
| 846 | msl = rte_mem_virt2memseg_list(aligned_start); |
| 847 | if (msl == NULL) |
| 848 | return -1; |
| 849 | |
| 850 | page_sz = (size_t)msl->page_sz; |
| 851 | n_segs = aligned_len / page_sz; |
| 852 | seg_idx = RTE_PTR_DIFF(aligned_start, msl->base_va) / page_sz; |
| 853 | max_seg_idx = seg_idx + n_segs; |
| 854 | |
| 855 | for (; seg_idx < max_seg_idx; seg_idx++) { |
| 856 | struct rte_memseg *ms; |
| 857 | |
| 858 | ms = rte_fbarray_get(&msl->memseg_arr, seg_idx); |
| 859 | eal_memalloc_free_seg(ms); |
| 860 | } |
| 861 | return 0; |
| 862 | } |
| 863 | |
| 864 | int |
| 865 | malloc_heap_free(struct malloc_elem *elem) |
no test coverage detected