* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * version: DPDK.L.1.2.3-3
*/
#include <stdint.h>
#include <stddef.h>
elem->state = ELEM_FREE;
elem->pad = 0;
}
+ /* decrease heap's count of allocated elements */
+ elem->heap->alloc_count--;
rte_spinlock_unlock(&(elem->heap->lock));
+
return 0;
}
if (elem->size - new_size > MIN_DATA_SIZE + MALLOC_ELEM_OVERHEAD){
/* now we have a big block together. Lets cut it down a bit, by splitting */
struct malloc_elem *split_pt = RTE_PTR_ADD(elem, new_size);
- split_pt = RTE_ALIGN_CEIL(split_pt, CACHE_LINE_SIZE);
+ split_pt = RTE_PTR_ALIGN_CEIL(split_pt, CACHE_LINE_SIZE);
split_elem(elem, split_pt);
split_pt->state = ELEM_FREE;
split_pt->next_free = elem->heap->free_head;