mm:change special pid to macro

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
This commit is contained in:
anjiahao 2023-04-17 23:01:23 +08:00 committed by Xiang Xiao
parent f2257ffd80
commit 49cd7a795a
6 changed files with 22 additions and 19 deletions

View File

@ -516,11 +516,11 @@ static ssize_t memdump_write(FAR struct file *filep, FAR const char *buffer,
switch (buffer[0]) switch (buffer[0])
{ {
case 'u': case 'u':
pid = (pid_t)-1; pid = MM_BACKTRACE_ALLOC_PID;
break; break;
case 'f': case 'f':
pid = (pid_t)-2; pid = MM_BACKTRACE_FREE_PID;
break; break;
#if CONFIG_MM_BACKTRACE >= 0 #if CONFIG_MM_BACKTRACE >= 0
default: default:

View File

@ -98,6 +98,9 @@
# endif # endif
#endif #endif
#define MM_BACKTRACE_FREE_PID ((pid_t)-2)
#define MM_BACKTRACE_ALLOC_PID ((pid_t)-1)
/**************************************************************************** /****************************************************************************
* Public Types * Public Types
****************************************************************************/ ****************************************************************************/

View File

@ -398,7 +398,7 @@ int mempool_info_task(FAR struct mempool_s *pool,
irqstate_t flags = spin_lock_irqsave(&pool->lock); irqstate_t flags = spin_lock_irqsave(&pool->lock);
DEBUGASSERT(info); DEBUGASSERT(info);
if (info->pid == -2) if (info->pid == MM_BACKTRACE_FREE_PID)
{ {
size_t count = mempool_queue_lenth(&pool->queue) + size_t count = mempool_queue_lenth(&pool->queue) +
mempool_queue_lenth(&pool->iqueue); mempool_queue_lenth(&pool->iqueue);
@ -411,7 +411,7 @@ int mempool_info_task(FAR struct mempool_s *pool,
info->uordblks -= pool->totalsize; info->uordblks -= pool->totalsize;
} }
} }
else if (info->pid == -1) else if (info->pid == MM_BACKTRACE_ALLOC_PID)
{ {
#if CONFIG_MM_BACKTRACE >= 0 #if CONFIG_MM_BACKTRACE >= 0
size_t count = list_length(&pool->alist); size_t count = list_length(&pool->alist);
@ -466,7 +466,7 @@ int mempool_info_task(FAR struct mempool_s *pool,
void mempool_memdump(FAR struct mempool_s *pool, pid_t pid) void mempool_memdump(FAR struct mempool_s *pool, pid_t pid)
{ {
if (pid == -2) if (pid == MM_BACKTRACE_FREE_PID)
{ {
FAR sq_entry_t *entry; FAR sq_entry_t *entry;
@ -492,7 +492,7 @@ void mempool_memdump(FAR struct mempool_s *pool, pid_t pid)
list_for_every_entry(&pool->alist, buf, struct mempool_backtrace_s, list_for_every_entry(&pool->alist, buf, struct mempool_backtrace_s,
node) node)
{ {
if (buf->pid == pid || pid == -1) if (buf->pid == pid || pid == MM_BACKTRACE_ALLOC_PID)
{ {
# if CONFIG_MM_BACKTRACE > 0 # if CONFIG_MM_BACKTRACE > 0
int i; int i;

View File

@ -87,16 +87,16 @@ static void mallinfo_task_handler(FAR struct mm_allocnode_s *node,
{ {
DEBUGASSERT(nodesize >= SIZEOF_MM_ALLOCNODE); DEBUGASSERT(nodesize >= SIZEOF_MM_ALLOCNODE);
#if CONFIG_MM_BACKTRACE < 0 #if CONFIG_MM_BACKTRACE < 0
if (info->pid == -1) if (info->pid == MM_BACKTRACE_ALLOC_PID)
#else #else
if (info->pid == -1 || node->pid == info->pid) if (info->pid == MM_BACKTRACE_ALLOC_PID || node->pid == info->pid)
#endif #endif
{ {
info->aordblks++; info->aordblks++;
info->uordblks += nodesize; info->uordblks += nodesize;
} }
} }
else if (info->pid == -2) else if (info->pid == MM_BACKTRACE_FREE_PID)
{ {
info->aordblks++; info->aordblks++;
info->uordblks += nodesize; info->uordblks += nodesize;

View File

@ -60,9 +60,9 @@ static void memdump_handler(FAR struct mm_allocnode_s *node, FAR void *arg)
{ {
DEBUGASSERT(nodesize >= SIZEOF_MM_ALLOCNODE); DEBUGASSERT(nodesize >= SIZEOF_MM_ALLOCNODE);
#if CONFIG_MM_BACKTRACE < 0 #if CONFIG_MM_BACKTRACE < 0
if (pid == -1) if (pid == MM_BACKTRACE_ALLOC_PID)
#else #else
if (pid == -1 || node->pid == pid) if (pid == MM_BACKTRACE_ALLOC_PID || node->pid == pid)
#endif #endif
{ {
#if CONFIG_MM_BACKTRACE < 0 #if CONFIG_MM_BACKTRACE < 0
@ -104,7 +104,7 @@ static void memdump_handler(FAR struct mm_allocnode_s *node, FAR void *arg)
SIZEOF_MM_NODE(fnode->flink) == 0 || SIZEOF_MM_NODE(fnode->flink) == 0 ||
SIZEOF_MM_NODE(fnode->flink) >= nodesize); SIZEOF_MM_NODE(fnode->flink) >= nodesize);
if (pid <= -2) if (pid <= MM_BACKTRACE_FREE_PID)
{ {
syslog(LOG_INFO, "%12zu%*p\n", syslog(LOG_INFO, "%12zu%*p\n",
nodesize, MM_PTR_FMT_WIDTH, nodesize, MM_PTR_FMT_WIDTH,

View File

@ -263,16 +263,16 @@ static void mallinfo_task_handler(FAR void *ptr, size_t size, int used,
if (used) if (used)
{ {
#if CONFIG_MM_BACKTRACE < 0 #if CONFIG_MM_BACKTRACE < 0
if (info->pid = -1) if (info->pid = MM_BACKTRACE_ALLOC_PID)
#else #else
if (info->pid == -1 || info->pid == dump->pid) if (info->pid == MM_BACKTRACE_ALLOC_PID || info->pid == dump->pid)
#endif #endif
{ {
info->aordblks++; info->aordblks++;
info->uordblks += size; info->uordblks += size;
} }
} }
else if (info->pid == -2) else if (info->pid == MM_BACKTRACE_FREE_PID)
{ {
info->aordblks++; info->aordblks++;
info->uordblks += size; info->uordblks += size;
@ -377,9 +377,9 @@ static void memdump_handler(FAR void *ptr, size_t size, int used,
if (used) if (used)
{ {
#if CONFIG_MM_BACKTRACE < 0 #if CONFIG_MM_BACKTRACE < 0
if (pid == -1) if (pid == MM_BACKTRACE_ALLOC_PID)
#else #else
if (pid == -1 || dump->pid == pid) if (pid == MM_BACKTRACE_ALLOC_PID || dump->pid == pid)
#endif #endif
{ {
#if CONFIG_MM_BACKTRACE < 0 #if CONFIG_MM_BACKTRACE < 0
@ -406,7 +406,7 @@ static void memdump_handler(FAR void *ptr, size_t size, int used,
#endif #endif
} }
} }
else if (pid <= -2) else if (pid <= MM_BACKTRACE_FREE_PID)
{ {
syslog(LOG_INFO, "%12zu%*p\n", size, MM_PTR_FMT_WIDTH, ptr); syslog(LOG_INFO, "%12zu%*p\n", size, MM_PTR_FMT_WIDTH, ptr);
} }
@ -904,7 +904,7 @@ void mm_memdump(FAR struct mm_heap_s *heap, pid_t pid)
#endif #endif
struct memdump_info_s info; struct memdump_info_s info;
if (pid >= -1) if (pid >= MM_BACKTRACE_ALLOC_PID)
{ {
syslog(LOG_INFO, "Dump all used memory node info:\n"); syslog(LOG_INFO, "Dump all used memory node info:\n");
#if CONFIG_MM_BACKTRACE < 0 #if CONFIG_MM_BACKTRACE < 0