You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2022/04/11 04:46:24 UTC

[incubator-nuttx] 01/02: Revert "mm_heap: heapsize align with MM_MIN_CHUNK."

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 1a4ccd2d70ff4aa675e85230d98e109713fdf222
Author: wangbowen6 <wa...@xiaomi.com>
AuthorDate: Fri Apr 8 17:35:36 2022 +0800

    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);