51class MemPool : CopyGuard {
62 if (m_seg_no_que.que_area() == NULL || m_ref_cnt_array == NULL) {
68 PoolId getPoolId()
const {
return m_attr.id; }
69 PoolType getPoolType()
const {
return m_attr.type; }
70 PoolAddr getPoolAddr()
const {
return m_attr.addr; }
71 PoolSize getPoolSize()
const {
return m_attr.size; }
72 NumSeg getPoolNumSegs()
const {
return m_attr.num_segs; }
73 NumSeg getPoolNumAvailSegs()
const {
return m_seg_no_que.size(); }
74#ifdef CONFIG_MEMUTILS_MEMORY_MANAGER_USE_FENCE
75 bool isPoolFenceEnable()
const {
return m_attr.fence; }
77 uint32_t verifyPoolFence();
79#ifdef USE_MEMMGR_MULTI_CORE
80 LockId getPoolLockId()
const {
return m_attr.spl_id; }
85 SegRefCnt getSegRefCnt(NumSeg seg_no)
const {
86 D_ASSERT(seg_no != NullSegNo && seg_no <= getPoolNumSegs());
87 D_ASSERT(m_ref_cnt_array[seg_no - 1] != 0);
88 return m_ref_cnt_array[seg_no - 1];
90 void incSegRefCnt(NumSeg seg_no);
102 MemHandleProxy allocSeg();
132 SegRefCnt*
const m_ref_cnt_array;