From 1a4ccd2d70ff4aa675e85230d98e109713fdf222 Mon Sep 17 00:00:00 2001 From: wangbowen6 Date: Fri, 8 Apr 2022 17:35:36 +0800 Subject: [PATCH] Revert "mm_heap: heapsize align with MM_MIN_CHUNK." This reverts commit 69e69740b5f578e035befc762538b282d91ed1ba. --- mm/mm_heap/mm.h | 4 ---- mm/mm_heap/mm_initialize.c | 12 ++++++------ mm/mm_heap/mm_mallinfo.c | 5 +---- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/mm/mm_heap/mm.h b/mm/mm_heap/mm.h index 5abe074b20..9ea235ecd3 100644 --- a/mm/mm_heap/mm.h +++ b/mm/mm_heap/mm.h @@ -146,10 +146,6 @@ #define SIZEOF_MM_FREENODE sizeof(struct mm_freenode_s) -/* What is the size of the start/end node? */ - -#define SIZEOF_MM_STARTENDNODE MM_MIN_CHUNK - /**************************************************************************** * Public Types ****************************************************************************/ diff --git a/mm/mm_heap/mm_initialize.c b/mm/mm_heap/mm_initialize.c index 06fd9e652f..e32c63cdac 100644 --- a/mm/mm_heap/mm_initialize.c +++ b/mm/mm_heap/mm_initialize.c @@ -118,15 +118,15 @@ void mm_addregion(FAR struct mm_heap_s *heap, FAR void *heapstart, heap->mm_heapstart[IDX] = (FAR struct mm_allocnode_s *) heapbase; MM_ADD_BACKTRACE(heap, heap->mm_heapstart[IDX]); - heap->mm_heapstart[IDX]->size = SIZEOF_MM_STARTENDNODE; + heap->mm_heapstart[IDX]->size = SIZEOF_MM_ALLOCNODE; heap->mm_heapstart[IDX]->preceding = MM_ALLOC_BIT; node = (FAR struct mm_freenode_s *) - (heapbase + SIZEOF_MM_STARTENDNODE); - node->size = heapsize - 2*SIZEOF_MM_STARTENDNODE; - node->preceding = SIZEOF_MM_STARTENDNODE; + (heapbase + SIZEOF_MM_ALLOCNODE); + node->size = heapsize - 2*SIZEOF_MM_ALLOCNODE; + node->preceding = SIZEOF_MM_ALLOCNODE; heap->mm_heapend[IDX] = (FAR struct mm_allocnode_s *) - (heapend - SIZEOF_MM_STARTENDNODE); - heap->mm_heapend[IDX]->size = SIZEOF_MM_STARTENDNODE; + (heapend - SIZEOF_MM_ALLOCNODE); + heap->mm_heapend[IDX]->size = SIZEOF_MM_ALLOCNODE; heap->mm_heapend[IDX]->preceding = node->size | MM_ALLOC_BIT; MM_ADD_BACKTRACE(heap, heap->mm_heapend[IDX]); diff --git a/mm/mm_heap/mm_mallinfo.c b/mm/mm_heap/mm_mallinfo.c index 3144e48a39..7ecdc039e3 100644 --- a/mm/mm_heap/mm_mallinfo.c +++ b/mm/mm_heap/mm_mallinfo.c @@ -121,10 +121,7 @@ int mm_mallinfo(FAR struct mm_heap_s *heap, FAR struct mallinfo *info) mm_foreach(heap, mallinfo_handler, info); info->arena = heap->mm_heapsize; - - /* Account for the tail node */ - - info->uordblks += region * SIZEOF_MM_STARTENDNODE; + info->uordblks += region * SIZEOF_MM_ALLOCNODE; /* account for the tail node */ DEBUGASSERT(info->uordblks + info->fordblks == heap->mm_heapsize);