dsmml_sheap_seg_info_t

Summary

structure for creating and maintaining symmetric heap creation.

Synopsis

typedef struct dsmml_sheap_seg_info {
    int            id;
    void *         act_addr;
    void *         base_addr;
    size_t         length;
    dsmml_type_t   type;
    dsmml_hpsize_t pagesize;
    dsmml_mode_t   mode;
    int            smp_mype;  
    int            smp_npes;  
    int            smp_set;   
} dsmml_sheap_seg_info_t;

Members

id              output segment id
act_addr        actual address for all future use
base_addr       base vaddr
length          length of the segment in bytes
type            memory type
pagesize        hugepage size
mode            allocation mode
smp_mype        my load PE index on the SMP group
smp_npes        total number of local PEs in my SMP group
smp_set         SMP group index

Constants used for Memory Types:
DSMML_MEM_SYS_DEFAULT
DSMML_MEM_NORMAL
DSMML_MEM_FAST

Constants used for Different Modes:
DSMML_MODE_DEFAULT
DSMML_MODE_PREFERRED
DSMML_MODE_BIND
DSMML_MODE_INTERLEAVE

Constants used for Different HugePage Size supported:
DSMML_HPSIZE_DEFAULT - Default hugpage - mostly try using transparent HP
DSMML_HPSIZE_4K      - System default pagesize
DSMML_HPSIZE_2M
DSMML_HPSIZE_4M
DSMML_HPSIZE_8M
DSMML_HPSIZE_16M
DSMML_HPSIZE_32M
DSMML_HPSIZE_64M
DSMML_HPSIZE_128M
DSMML_HPSIZE_256M
DSMML_HPSIZE_512M
DSMML_HPSIZE_1G
DSMML_HPSIZE_2G

Effect of using different combinations of memory types and modes of allocation:
                        DSMML_MEM_SYS_DEFAULT   DSMML_MEM_NORMAL    DSMML_MEM_FAST
DSMML_MODE_DEFAULT             NO EFFECT        NO EFFECT           NO EFFECT
DSMML_MODE_PREFERRED           NO EFFECT        DDR + MPOL_PREF     HBM + MPOL_PREF
DSMML_MODE_BIND                NO EFFECT        DDR + MPOL_BIND     HBM + MPOL_BIND
DSMML_MODE_INTERLEAVE          NO EFFECT        MPOL_INTERLEAVE     MPOL_INTERLEAVE

Notes

Refer dsmml_sheap_seg_list_t(3), dsmml_get_sheap_seg(3), and
dsmml_create_sheap_seg(3),