malloc: make join elements function public
Down the line, we will need to join free segments to determine whether the resulting contiguous free space is bigger than a page size, allowing to free some memory back to the system. Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Tested-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Tested-by: Hemant Agrawal <hemant.agrawal@nxp.com> Tested-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
This commit is contained in:
parent
180698a82c
commit
f21aa4ec9d
@ -325,8 +325,8 @@ join_elem(struct malloc_elem *elem1, struct malloc_elem *elem2)
|
||||
elem1->next = next;
|
||||
}
|
||||
|
||||
static struct malloc_elem *
|
||||
elem_join_adjacent_free(struct malloc_elem *elem)
|
||||
struct malloc_elem *
|
||||
malloc_elem_join_adjacent_free(struct malloc_elem *elem)
|
||||
{
|
||||
/*
|
||||
* check if next element exists, is adjacent and is free, if so join
|
||||
@ -388,7 +388,7 @@ malloc_elem_free(struct malloc_elem *elem)
|
||||
ptr = RTE_PTR_ADD(elem, sizeof(*elem));
|
||||
data_len = elem->size - MALLOC_ELEM_OVERHEAD;
|
||||
|
||||
elem = elem_join_adjacent_free(elem);
|
||||
elem = malloc_elem_join_adjacent_free(elem);
|
||||
|
||||
malloc_elem_free_list_insert(elem);
|
||||
|
||||
|
@ -141,6 +141,9 @@ malloc_elem_alloc(struct malloc_elem *elem, size_t size,
|
||||
int
|
||||
malloc_elem_free(struct malloc_elem *elem);
|
||||
|
||||
struct malloc_elem *
|
||||
malloc_elem_join_adjacent_free(struct malloc_elem *elem);
|
||||
|
||||
/*
|
||||
* attempt to resize a malloc_elem by expanding into any free space
|
||||
* immediately after it in memory.
|
||||
|
Loading…
Reference in New Issue
Block a user