更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
los_memstat_pri.h
浏览该文件的文档.
1/*
2 * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
3 * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice, this list of
9 * conditions and the following disclaimer.
10 *
11 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
12 * of conditions and the following disclaimer in the documentation and/or other materials
13 * provided with the distribution.
14 *
15 * 3. Neither the name of the copyright holder nor the names of its contributors may be used
16 * to endorse or promote products derived from this software without specific prior written
17 * permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _LOS_MEMSTAT_PRI_H
33#define _LOS_MEMSTAT_PRI_H
34
35#include "los_typedef.h"
36#include "los_memory.h"
37
38#ifdef __cplusplus
39#if __cplusplus
40extern "C" {
41#endif /* __cplusplus */
42#endif /* __cplusplus */
43
44typedef struct {
45 UINT32 memUsed; ///< 记录任务内存使用量
47
48extern VOID OsTaskMemUsedInc(UINT32 usedSize, UINT32 taskID);
49extern VOID OsTaskMemUsedDec(UINT32 usedSize, UINT32 taskID);
50extern UINT32 OsTaskMemUsage(UINT32 taskID);
51extern VOID OsTaskMemClear(UINT32 taskID);
52#define OS_MEM_ENABLE_MEM_STATISTICS
53
54#ifdef LOS_MEM_SLAB
55typedef struct {
56 UINT32 slabUsed; ///< 任务占用以slab分配方式内存量
58
59extern VOID OsTaskSlabUsedInc(UINT32 usedSize, UINT32 taskID);
60extern VOID OsTaskSlabUsedDec(UINT32 usedSize, UINT32 taskID);
61extern UINT32 OsTaskSlabUsage(UINT32 taskID);
62#endif
63
64#ifdef OS_MEM_ENABLE_MEM_STATISTICS
65#define OS_MEM_ADD_USED(usedSize, taskID) OsTaskMemUsedInc(usedSize, taskID)
66#define OS_MEM_REDUCE_USED(usedSize, taskID) OsTaskMemUsedDec(usedSize, taskID)
67#define OS_MEM_CLEAR(taskID) OsTaskMemClear(taskID)
68#ifdef LOS_MEM_SLAB
69#define OS_SLAB_ADD_USED(usedSize, taskID) OsTaskSlabUsedInc(usedSize, taskID)
70#define OS_SLAB_REDUCE_USED(usedSize, taskID) OsTaskSlabUsedDec(usedSize, taskID)
71#endif
72#else
73#define OS_MEM_ADD_USED(usedSize, taskID)
74#define OS_MEM_REDUCE_USED(usedSize, taskID)
75#define OS_MEM_CLEAR(taskID)
76#ifdef LOS_MEM_SLAB
77#define OS_SLAB_ADD_USED(usedSize, taskID)
78#define OS_SLAB_REDUCE_USED(usedSize, taskID)
79#endif
80#endif
81
82#ifdef __cplusplus
83#if __cplusplus
84}
85#endif /* __cplusplus */
86#endif /* __cplusplus */
87
88#endif /* _LOS_MEMSTAT_PRI_H */
VOID OsTaskSlabUsedInc(UINT32 usedSize, UINT32 taskID)
Definition: los_memstat.c:89
UINT32 OsTaskMemUsage(UINT32 taskID)
获取指定任务对内存的使用情况
Definition: los_memstat.c:65
VOID OsTaskMemUsedInc(UINT32 usedSize, UINT32 taskID)
计算指定任务对内存使用增加量
Definition: los_memstat.c:38
UINT32 OsTaskSlabUsage(UINT32 taskID)
Definition: los_memstat.c:107
VOID OsTaskMemClear(UINT32 taskID)
清空任务内存使用记录
Definition: los_memstat.c:74
VOID OsTaskMemUsedDec(UINT32 usedSize, UINT32 taskID)
计算指定任务对内存使用减少量
Definition: los_memstat.c:49
VOID OsTaskSlabUsedDec(UINT32 usedSize, UINT32 taskID)
Definition: los_memstat.c:98
unsigned int UINT32
Definition: los_typedef.h:57
UINT32 memUsed
记录任务内存使用量
UINT32 slabUsed
任务占用以slab分配方式内存量