更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
los_memstat_pri.h 文件参考

浏览源代码.

结构体

struct  TskMemUsedInfo
 
struct  TskSlabUsedInfo
 

函数

VOID OsTaskMemUsedInc (UINT32 usedSize, UINT32 taskID)
 计算指定任务对内存使用增加量 更多...
 
VOID OsTaskMemUsedDec (UINT32 usedSize, UINT32 taskID)
 计算指定任务对内存使用减少量 更多...
 
UINT32 OsTaskMemUsage (UINT32 taskID)
 获取指定任务对内存的使用情况 更多...
 
VOID OsTaskMemClear (UINT32 taskID)
 清空任务内存使用记录 更多...
 
VOID OsTaskSlabUsedInc (UINT32 usedSize, UINT32 taskID)
 
VOID OsTaskSlabUsedDec (UINT32 usedSize, UINT32 taskID)
 
UINT32 OsTaskSlabUsage (UINT32 taskID)
 

函数说明

◆ OsTaskMemClear()

VOID OsTaskMemClear ( UINT32  taskID)

清空任务内存使用记录

在文件 los_memstat.c74 行定义.

75{
76 if (taskID >= LOSCFG_BASE_CORE_TSK_LIMIT) {
77 return;
78 }
79 if (g_tskMemUsedInfo[taskID].memUsed != 0) {
80 PRINT_WARN("mem used of task '%s' is:0x%x, not zero when task being deleted\n",
81 OS_TCB_FROM_TID(taskID)->taskName, g_tskMemUsedInfo[taskID].memUsed);
82 }
83 g_tskMemUsedInfo[taskID].memUsed = 0;
84}
LITE_OS_SEC_BSS_MINOR STATIC TskMemUsedInfo g_tskMemUsedInfo[LOSCFG_BASE_CORE_TSK_LIMIT]
记录每个任务对内存的使用情况
Definition: los_memstat.c:36
UINT32 memUsed
记录任务内存使用量

◆ OsTaskMemUsage()

UINT32 OsTaskMemUsage ( UINT32  taskID)

获取指定任务对内存的使用情况

在文件 los_memstat.c65 行定义.

66{
67 if (taskID >= LOSCFG_BASE_CORE_TSK_LIMIT) {
68 return LOS_NOK;
69 }
70
71 return g_tskMemUsedInfo[taskID].memUsed;
72}

◆ OsTaskMemUsedDec()

VOID OsTaskMemUsedDec ( UINT32  usedSize,
UINT32  taskID 
)

计算指定任务对内存使用减少量

< 递减

在文件 los_memstat.c49 行定义.

50{
51 if (taskID >= LOSCFG_BASE_CORE_TSK_LIMIT) {
52 return;
53 }
54 if (OS_INT_ACTIVE) {
55 return;
56 }
57 if (g_tskMemUsedInfo[taskID].memUsed < usedSize) {
58 PRINT_WARN("mem used of current task '%s':0x%x, decrease size:0x%x\n",
59 OsCurrTaskGet()->taskName, g_tskMemUsedInfo[taskID].memUsed, usedSize);
60 return;
61 }
62 g_tskMemUsedInfo[taskID].memUsed -= usedSize; ///< 递减
63}
STATIC INLINE LosTaskCB * OsCurrTaskGet(VOID)
函数调用图:

◆ OsTaskMemUsedInc()

VOID OsTaskMemUsedInc ( UINT32  usedSize,
UINT32  taskID 
)

计算指定任务对内存使用增加量

< 叠加

在文件 los_memstat.c38 行定义.

39{
40 if (taskID >= LOSCFG_BASE_CORE_TSK_LIMIT) {
41 return;
42 }
43 if (OS_INT_ACTIVE) {
44 return;
45 }
46 g_tskMemUsedInfo[taskID].memUsed += usedSize; ///< 叠加
47}

◆ OsTaskSlabUsage()

UINT32 OsTaskSlabUsage ( UINT32  taskID)

在文件 los_memstat.c107 行定义.

108{
109 if (taskID >= LOSCFG_BASE_CORE_TSK_LIMIT) {
110 return LOS_NOK;
111 }
112
113 return g_tskSlabUsedInfo[taskID].slabUsed;
114}
LITE_OS_SEC_BSS_MINOR STATIC TskSlabUsedInfo g_tskSlabUsedInfo[LOSCFG_BASE_CORE_TSK_LIMIT]
Definition: los_memstat.c:88
UINT32 slabUsed
任务占用以slab分配方式内存量

◆ OsTaskSlabUsedDec()

VOID OsTaskSlabUsedDec ( UINT32  usedSize,
UINT32  taskID 
)

在文件 los_memstat.c98 行定义.

99{
100 if (taskID >= LOSCFG_BASE_CORE_TSK_LIMIT) {
101 return;
102 }
103
104 g_tskSlabUsedInfo[taskID].slabUsed -= usedSize;
105}

◆ OsTaskSlabUsedInc()

VOID OsTaskSlabUsedInc ( UINT32  usedSize,
UINT32  taskID 
)

在文件 los_memstat.c89 行定义.

90{
91 if (taskID >= LOSCFG_BASE_CORE_TSK_LIMIT) {
92 return;
93 }
94
95 g_tskSlabUsedInfo[taskID].slabUsed += usedSize;
96}