XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
xwmm_mempool_page结构体 参考

内存页 更多...

#include <page.h>

xwmm_mempool_page 的协作图:

成员变量

xwsq_t order
 
xwptr_t mapping
 
union { 
 
   struct { 
 
      struct xwlib_rbtree_node   rbnode 
 
      xwsq_t   seq 
 
   }   free 
 
   struct { 
 
      struct xwlib_bclst_node   node 
 
      atomic_xwlfq_t   objhead 
 
      xwsq_t   refcnt 
 
   }   objcache 
 
attr 
 
union { 
 
   void *   pointer 
 
   xwsq_t   value 
 
data 
 

详细描述

内存页

在文件 page.h37 行定义.

结构体成员变量说明

◆ [union]

union { ... } xwmm_mempool_page::attr

◆ [union]

union { ... } xwmm_mempool_page::data

数据

◆ [struct]

struct { ... } xwmm_mempool_page::free

空闲页

◆ mapping

xwptr_t xwmm_mempool_page::mapping
  • 如果页被申请, mapping 为页的首地址;
  • 如果页在阶红黑树中, mapping 取值 XWMM_MEMPOOL_PAGE_MAPPING_FREE
  • 如果页刚被申请还未映射地址,或合并在更大的页中, mapping 取值 XWMM_MEMPOOL_PAGE_MAPPING_INVAILD

在文件 page.h40 行定义.

◆ node

struct xwlib_bclst_node xwmm_mempool_page::node

页链表节点

在文件 page.h51 行定义.

◆ [struct]

struct { ... } xwmm_mempool_page::objcache

页作为对象缓存

◆ objhead

atomic_xwlfq_t xwmm_mempool_page::objhead

空闲对象无锁队列头

在文件 page.h52 行定义.

◆ order

xwsq_t xwmm_mempool_page::order

页的数量的阶。当取值 XWMM_MEMPOOL_PAGE_ORDER_CMB , 表示页被合并在更大的页中

在文件 page.h38 行定义.

◆ pointer

void* xwmm_mempool_page::pointer

在文件 page.h60 行定义.

◆ rbnode

struct xwlib_rbtree_node xwmm_mempool_page::rbnode

红黑树节点

在文件 page.h47 行定义.

◆ refcnt

xwsq_t xwmm_mempool_page::refcnt

页的引用计数(aka: 已被使用的对象数量) 被 xwmm_mempool_objcache.page_list.lock 保护。

在文件 page.h53 行定义.

◆ seq

xwsq_t xwmm_mempool_page::seq

序列值

在文件 page.h48 行定义.

◆ value

xwsq_t xwmm_mempool_page::value

在文件 page.h61 行定义.


该结构体的文档由以下文件生成: