mm/heap: Count mm_heap_s overhead in mm_mallinfo

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao
2023-05-29 00:03:12 +08:00
committed by Alan Carvalho de Assis
parent 1d5ca4e809
commit c76f9f9349
+3 -1
View File
@@ -145,6 +145,8 @@ struct mallinfo mm_mallinfo(FAR struct mm_heap_s *heap)
memset(&info, 0, sizeof(info)); memset(&info, 0, sizeof(info));
mm_foreach(heap, mallinfo_handler, &info); mm_foreach(heap, mallinfo_handler, &info);
info.arena = heap->mm_heapsize; info.arena = heap->mm_heapsize;
info.arena += sizeof(struct mm_heap_s);
info.uordblks += sizeof(struct mm_heap_s);
#if CONFIG_MM_HEAP_MEMPOOL_THRESHOLD != 0 #if CONFIG_MM_HEAP_MEMPOOL_THRESHOLD != 0
poolinfo = mempool_multiple_mallinfo(heap->mm_mpool); poolinfo = mempool_multiple_mallinfo(heap->mm_mpool);
@@ -153,7 +155,7 @@ struct mallinfo mm_mallinfo(FAR struct mm_heap_s *heap)
info.fordblks += poolinfo.fordblks; info.fordblks += poolinfo.fordblks;
#endif #endif
DEBUGASSERT((size_t)info.uordblks + info.fordblks == heap->mm_heapsize); DEBUGASSERT(info.uordblks + info.fordblks == info.arena);
return info; return info;
} }