昇腾社区首页
中文
注册

mstxMemRegionsRegister

函数原型

void mstxMemRegionsRegister(mstxDomainHandle_t domain, mstxMemRegionsRegisterBatch_t const *desc)

功能说明

注册内存池二次分配。用户需保证RegionsRegister的内存位于mstxMemHeapRegister注册的范围内,否则工具会提示越界读写。

参数说明

表1 参数说明

参数

输入/输出

说明

domain

输入

为globalDomain或mstxDomainCreateA返回的句柄。

数据类型:const char *。

desc

输入

内存池待二次分配的内存区域描述信息,不能为空。

struct mstxMemRegion_st;
typedef struct mstxMemRegion_st mstxMemRegion_t;
typedef mstxMemRegion_t* mstxMemRegionHandle_t;

typedef struct mstxMemRegionsRegisterBatch_t {
    mstxMemHeapHandle_t heap;  // 要进行二次分配的内存池句柄
    mstxMemType regionType;  // 内存区域的内存类型
    size_t regionCount;  // 内存区域的个数
    void const *regionDescArray;  // 内存区域描述数据
    mstxMemRegionHandle_t* regionHandleArrayOut;  // 返回的注册二次分配得到的句柄数组
} mstxMemRegionsRegisterBatch_t;

返回值

无。

调用示例

mstxMemRegionsRegisterBatch_t regionsDesc{};
regionsDesc.heap = memPool;
regionsDesc.regionType = MSTX_MEM_TYPE_VIRTUAL_ADDRESS;
regionsDesc.regionCount = 1;
regionsDesc.regionDescArray = rangesDesc;
regionsDesc.regionHandleArrayOut = regionHandles;
mstxMemRegionsRegister(globalDomain, ®ionsDesc);              // 二次分配注册