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