Go to file
Yuanzheng Song 69e8869234 change README_zh.md to README_ZH.md
issue: #I4V3UT
Signed-off-by: Yuanzheng Song <songyuanzheng@huawei.com>
2022-02-24 15:14:11 +08:00
figures fix README due to the review 2022-02-23 17:23:08 +08:00
libdmabufheap add libdmabufheap test 2022-02-16 17:34:48 +08:00
bundle.json fix repository normative issues 2022-02-23 16:30:27 +08:00
LICENSE fix repository normative issues 2022-02-23 16:30:27 +08:00
OAT.xml fix repository normative issues 2022-02-23 16:30:27 +08:00
README_ZH.md change README_zh.md to README_ZH.md 2022-02-24 15:14:11 +08:00
README.md exchange README filename 2022-02-24 09:07:17 +08:00

The Part of Memory Base Libraries

Introduction

The part of Memory base libraries belongs to the subsystem named Utils Subsystem. It provides the system library for upper-layer services to operate memory, ensuring the stability of upper-layer services.

Architecture

Figure 1 Memory Base Libraries architecture

Directory Structure

/utils/memory
├── libdmabufheap           # DMA (Direct Memory Access) memory allocation system library
│   ├── include             # DMA memory allocation system library header directory
│   ├── src                 # DMA memory allocation system library source directory
│   └── test                # DMA memory allocation system library usecase directory
├── libmeminfo              # Memory footprint management library
├── libmemleak              # Memory leak detection library
├── libpurgeable            # Purgeable memory management library
└── libspeculative          # Speculative memory management library

Memory Base Libraries

Memory base libraries is a component of the system library that integrates memory operations and manages them in a unified manner.

libdmabufheap system library

The memory system library provides interfaces for services to allocate and share shared memory. By allocating and sharing memory between hardware devices and user space, zero-copy memory between devices and processes is implemented to improve execution efficiency.

libmeminfo system library (planning)

It provides interfaces for memory usage queries. It is mainly used by memory footprint management service(hidumper) and low-memory killing service(lmks).

libmemleak system library (planning)

It cooperates with malloc_debug to detect memory leaks of native heap.

libpurgeable system library (planning)

It provides management interfaces for discardable-type memory. It is mainly used by graphics and image codec libraries.

libspeculative system library (planning)

It provides management interfaces for speculative-type memory. It is mainly used by system services for data pre-loading.

Usage Guidelines

System developers can add or remove this part by configuring the product definition JSON file under /productdefine/common/products to enable or disable this part:

"utils:utils_memory":{}

Repositories Involved

utils