Nathan Hartman
3ed629274e
mm: Fix some typos
2023-11-24 09:57:10 -08:00
ligd
13f0051747
mm: rewrite the memdump code for more readable
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2023-09-24 10:39:18 +08:00
Petro Karashchenko
440be65010
spinlock: use spinlock API instead of direct asignment/compare
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-09-16 14:17:47 +08:00
dongjiuzhu1
36e3d32740
mm/heap: add coloration after free to detect use after free issue
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-09-11 15:28:34 -04:00
anjiahao
e053dcc9f4
mempool:add check for double free check for mempool free
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-08-19 01:22:58 +08:00
wangbowen6
b0ab41beee
memdump: support dump the leak memory (malloced but task exit)
...
1. command "memdump leak" can dump the leacked memory node;
2. fix the leak memory stat bug in memory manager;
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2023-07-31 05:48:33 -07:00
wangbowen6
2dedaa449b
mm: use shced_backtrace and skip the first numbers in mm backatrace
...
beacause the first numbers backtrace in mm node is same, skip them to
show more useful backtrace.
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2023-07-31 05:46:37 -07:00
anjiahao
79c0fafc06
mm:Fix the problem that the memdump statistics of blkcont are inconsistent
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-06-25 18:17:30 +08:00
Xiang Xiao
a8e0a5faa4
sched: Remove the unnecessary cast from pid_t to int
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-19 11:37:34 +03:00
Xiang Xiao
07b0cd1cba
mm: Simplify memdump_handler logic a little bit
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-19 11:37:34 +03:00
Xiang Xiao
313f79d55e
mm/mempool: Count the expend block overhead in mempool_info
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-19 11:37:34 +03:00
Xiang Xiao
0572bc4d03
mm/mempool: Count the backtrace overhead in mempool_[dump|info[_task]]
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-19 11:37:34 +03:00
Xiang Xiao
9b6cd96671
mm: Rename PID_MM_INVALID to PID_MM_LEAK
...
to express the intent more clear
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-18 14:26:07 +03:00
Xiang Xiao
f01deff80f
mm: Rename MM_BACKTRACE_XXX_PID to PID_MM_XXX
...
and move the definition to malloc.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-18 09:12:14 +03:00
Xiang Xiao
ddbe9eb6ab
mm: Rename mm_memdump_s to malltask
...
align with the naming of mallinfo_task
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-18 09:12:14 +03:00
Xiang Xiao
1d5ca4e809
mm/mempool: Avoid the allocation number of expend block equals zero
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-17 19:11:07 -03:00
Xiang Xiao
9f4da58c67
mm: Remove mempoolinfo_task macro and use mallinfo_task directly
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-11 19:37:04 +03:00
Xiang Xiao
e98a153cb2
mm/mempool: Remove nexpend and totalsize from mempool_s
...
forget in the commit(https://github.com/apache/nuttx/pull/9052 ):
commit 781a34da94
Author: anjiahao <anjiahao@xiaomi.com>
Date: Tue Apr 18 11:18:43 2023 +0800
memepool:fix memory consumption double counting issue
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-04 11:47:51 -03:00
anjiahao
e6506619ac
mempool:Fix seqnumber statistics error in memdump
...
The judgment of seqmin and seqmax is ignored
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-05-31 23:00:16 +08:00
ligd
1a927a6cf3
mm: add invalid pid dump when malloc failed
...
We can dump the memory that has exited but
has not been released
Signed-off-by: ligd <liguiding1@xiaomi.com>
2023-05-30 02:19:59 +08:00
anjiahao
c60dd72a2a
Support memdump to realize incremental dump function
...
Add a new field to record the global on the basis of mm_backtrace.
When using alloc, the field is incremented by 1,
so that the memory usage can be dumped within the range
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-05-22 12:31:32 +08:00
Xiang Xiao
6f6fce95a2
Replace all sprintf with snprintf
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-08 09:57:01 +02:00
anjiahao
df2925cf13
mempool:fix bug, use incorrect free in mempool init
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-04-27 00:28:09 +08:00
anjiahao
781a34da94
memepool:fix memory consumption double counting issue
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-04-23 23:28:32 +08:00
anjiahao
49cd7a795a
mm:change special pid to macro
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-04-23 23:28:32 +08:00
zhangyuan21
c239d19df0
nuttx: add more dependent header file
...
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-04-11 09:13:32 +03:00
anjiahao
7347684e5f
mempool:fix bug when list needs to be protected by a lock
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-02-13 15:47:17 +08:00
anjiahao
4ced3c9642
mempool:fix bug when use MM_BACKTRACE
...
caculate blk address when mempool_multiple_free
have a bug. need a real blocksize to caulate the
memory address.
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-02-13 15:47:17 +08:00
Xiang Xiao
be1c84c96a
mm/mempool: Initialize spinlock with spin_initialize
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-02 22:47:34 +08:00
chao an
4c8d244fae
sched/getpid: replace syscall getpid/tid/ppid() to kernel version
...
NuttX kernel should not use the syscall functions, especially after
enabling CONFIG_SCHED_INSTRUMENTATION_SYSCALL, all system functions
will be traced to backend, which will impact system performance.
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-02 10:33:01 +08:00
anjiahao
b362f18d6a
mempool:Calibration total memory statistics
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-18 09:02:33 +01:00
anjiahao
288725a5f8
mempool:fix a bug when use smp on mempool backtrace
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-18 09:02:33 +01:00
anjiahao
632ed0d3a4
Optimize multipe mempool memory space usage
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-18 14:12:45 +08:00
anjiahao
6b530fceae
mempool:change mempool_multiple way of initialization
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-18 14:12:45 +08:00
anjiahao
49ffd99eaf
mempool:use single queue insdie of list
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-01-18 14:12:45 +08:00
anjiahao
f00d56337f
mempool:remove unnecessary alignment
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-18 14:12:45 +08:00
anjiahao
bc30b294aa
mm:add heap args to mm_malloc_size
...
use malloc_size inside of where used mm_malloc_size
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-01-17 21:57:37 +08:00
Xiang Xiao
154bb93c45
mm: Terminate the backtrace array with one NULL pointer
...
since one entry is enough to identify the end of back trace
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-17 16:48:30 +08:00
dongjiuzhu1
c386a1a2d9
mm/mempool: support backtrace function for mempool
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-17 16:48:30 +08:00
dongjiuzhu1
5c0a5a6627
mm/mempool: support memalign about mempool and mulitple mempool
...
The memalign is special to multiple mempool because multiple mempool
doesn't support split and shrink chunk operate. So When you alloc a
memory block and find an aligned address in this block, you need to
occupy 8 bytes before the address to save the address of the padding
size and pool to ensure correct use in realloc and free operations.
So we will use bit1 in the previous address of the address to represent
that it is applied by memalign.
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-01-15 20:05:55 +08:00
dongjiuzhu1
cd97134c7c
mm/mempool: update nexpand/ninitial/ninterrupt to xxxsize
...
Let's specify size instead of number, so that we can unify the size of
expansion memory in the multiple mempool.
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-01-15 20:05:55 +08:00
dongjiuzhu1
adaca6a5ce
mm/mempool: using inline list instead of queue to avoid kasan report
...
the crash backtrace:
kasan_report (addr=0xf3d02fd4, size=4, is_write=false) at
kasan/kasan.c:106
0x5658518d in __asan_loadN_noabort (addr=0xf3d02fd4, size=4) at
kasan/kasan.c:300
0x565851ee in __asan_load4_noabort (addr=0xf3d02fd4) at
kasan/kasan.c:334
0x56580b02 in sq_remfirst (queue=0xf3d02b08) at
queue/sq_remfirst.c:45
0x565e0e0b in mempool_alloc (pool=0xf3d02aec) at
mempool/mempool.c:161
0x566033d2 in mempool_multiple_alloc (mpool=0xf3d02a30, size=16) at
mempool/mempool_multiple.c:147
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-01-15 20:05:55 +08:00
Xiang Xiao
38d1244751
mm/mempool: Remove MM_MEMPOOL option from Kconfig
...
since the linker can remove the unused object file from the final image
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 10:18:27 -03:00
dongjiuzhu1
96d8e833ed
mm/mempool: support kasan check for mempool alloc/free
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-10-28 21:31:35 +08:00
dongjiuzhu1
30bede7940
mm/mempool: fix bug about size mismatch and binary find
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-10-28 21:31:35 +08:00
dongjiuzhu1
4e179e8a85
mm/mempool: optimize alloc/free performance
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-10-28 21:31:35 +08:00
Jiuzhu Dong
8994c8efa2
mm/mempool: support specifying alloc and free function
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-10-28 21:31:35 +08:00
Jiuzhu Dong
a01f3beefd
mm/mempool: support multiple memory pool
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-10-28 21:31:35 +08:00
anjiahao
5724c6b2e4
sem:remove sem default protocl
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-10-22 14:50:48 +08:00
Jiuzhu Dong
c18b5602e8
fs/procfs: add mempool info to proc/mempool
...
server> cat /proc/mempool
total bsize nused nfree nifree nwaiter
hello: 400 20 17 3 0 0
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-09 15:38:57 +08:00